gi-gstaudio (empty) → 0.1.6.13
raw patch · 45 files changed
+10384/−0 lines, 45 filesdep +basedep +bytestringdep +containerssetup-changed
Dependencies added: base, bytestring, containers, gi-glib, gi-gobject, gi-gst, gi-gstbase, haskell-gi-base, text, transformers
Files
- GI/GstAudio.hs +46/−0
- GI/GstAudio/Callbacks.hs +270/−0
- GI/GstAudio/Constants.hs +77/−0
- GI/GstAudio/Enums.hs +544/−0
- GI/GstAudio/Flags.hs +88/−0
- GI/GstAudio/Functions.hs +506/−0
- GI/GstAudio/Interfaces.hs +27/−0
- GI/GstAudio/Interfaces/StreamVolume.hs +341/−0
- GI/GstAudio/Interfaces/StreamVolume.hs-boot +19/−0
- GI/GstAudio/Objects.hs +45/−0
- GI/GstAudio/Objects/AudioBaseSink.hs +898/−0
- GI/GstAudio/Objects/AudioBaseSink.hs-boot +34/−0
- GI/GstAudio/Objects/AudioBaseSrc.hs +534/−0
- GI/GstAudio/Objects/AudioBaseSrc.hs-boot +24/−0
- GI/GstAudio/Objects/AudioCdSrc.hs +324/−0
- GI/GstAudio/Objects/AudioCdSrc.hs-boot +17/−0
- GI/GstAudio/Objects/AudioClock.hs +293/−0
- GI/GstAudio/Objects/AudioClock.hs-boot +14/−0
- GI/GstAudio/Objects/AudioDecoder.hs +1320/−0
- GI/GstAudio/Objects/AudioDecoder.hs-boot +45/−0
- GI/GstAudio/Objects/AudioEncoder.hs +1420/−0
- GI/GstAudio/Objects/AudioEncoder.hs-boot +48/−0
- GI/GstAudio/Objects/AudioFilter.hs +178/−0
- GI/GstAudio/Objects/AudioFilter.hs-boot +13/−0
- GI/GstAudio/Objects/AudioRingBuffer.hs +1175/−0
- GI/GstAudio/Objects/AudioRingBuffer.hs-boot +40/−0
- GI/GstAudio/Objects/AudioSink.hs +204/−0
- GI/GstAudio/Objects/AudioSink.hs-boot +13/−0
- GI/GstAudio/Objects/AudioSrc.hs +188/−0
- GI/GstAudio/Objects/AudioSrc.hs-boot +13/−0
- GI/GstAudio/Structs.hs +35/−0
- GI/GstAudio/Structs/AudioCdSrcTrack.hs +108/−0
- GI/GstAudio/Structs/AudioCdSrcTrack.hs-boot +10/−0
- GI/GstAudio/Structs/AudioDownmixMeta.hs +148/−0
- GI/GstAudio/Structs/AudioDownmixMeta.hs-boot +10/−0
- GI/GstAudio/Structs/AudioFormatInfo.hs +137/−0
- GI/GstAudio/Structs/AudioFormatInfo.hs-boot +10/−0
- GI/GstAudio/Structs/AudioInfo.hs +450/−0
- GI/GstAudio/Structs/AudioInfo.hs-boot +19/−0
- GI/GstAudio/Structs/AudioRingBufferSpec.hs +130/−0
- GI/GstAudio/Structs/AudioRingBufferSpec.hs-boot +10/−0
- GI/GstAudio/Types.hs +44/−0
- LICENSE +456/−0
- Setup.hs +3/−0
- gi-gstaudio.cabal +56/−0
+ GI/GstAudio.hs view
@@ -0,0 +1,46 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio+ ( module GI.GstAudio.Callbacks ,+ module GI.GstAudio.Constants ,+ module GI.GstAudio.Enums ,+ module GI.GstAudio.Flags ,+ module GI.GstAudio.Functions ,+ module GI.GstAudio.Interfaces ,+ module GI.GstAudio.Objects ,+ module GI.GstAudio.Structs ,++++ module Data.GI.Base ,+++ ) where++import GI.GstAudio.Callbacks+import GI.GstAudio.Constants+import GI.GstAudio.Enums+import GI.GstAudio.Flags+import GI.GstAudio.Functions+import GI.GstAudio.Interfaces+import GI.GstAudio.Objects+import GI.GstAudio.Structs++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks++import Data.GI.Base+
+ GI/GstAudio/Callbacks.hs view
@@ -0,0 +1,270 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Callbacks+ ( ++ -- * Signals+-- ** AudioBaseSinkCustomSlavingCallback+ AudioBaseSinkCustomSlavingCallback ,+ AudioBaseSinkCustomSlavingCallbackC ,+ audioBaseSinkCustomSlavingCallbackClosure,+ audioBaseSinkCustomSlavingCallbackWrapper,+ mkAudioBaseSinkCustomSlavingCallback ,+ noAudioBaseSinkCustomSlavingCallback ,+++-- ** AudioClockGetTimeFunc+ AudioClockGetTimeFunc ,+ AudioClockGetTimeFuncC ,+ audioClockGetTimeFuncClosure ,+ audioClockGetTimeFuncWrapper ,+ mkAudioClockGetTimeFunc ,+ noAudioClockGetTimeFunc ,+++-- ** AudioFormatPack+ AudioFormatPack ,+ AudioFormatPackC ,+ audioFormatPackClosure ,+ audioFormatPackWrapper ,+ mkAudioFormatPack ,+ noAudioFormatPack ,+++-- ** AudioFormatUnpack+ AudioFormatUnpack ,+ AudioFormatUnpackC ,+ audioFormatUnpackClosure ,+ audioFormatUnpackWrapper ,+ mkAudioFormatUnpack ,+ noAudioFormatUnpack ,+++-- ** AudioRingBufferCallback+ AudioRingBufferCallback ,+ AudioRingBufferCallbackC ,+ audioRingBufferCallbackClosure ,+ audioRingBufferCallbackWrapper ,+ mkAudioRingBufferCallback ,+ noAudioRingBufferCallback ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types++import qualified GI.Gst as Gst++-- callback AudioRingBufferCallback+audioRingBufferCallbackClosure :: AudioRingBufferCallback -> IO Closure+audioRingBufferCallbackClosure cb = newCClosure =<< mkAudioRingBufferCallback wrapped+ where wrapped = audioRingBufferCallbackWrapper Nothing cb++type AudioRingBufferCallbackC =+ Ptr AudioRingBuffer ->+ Ptr Word8 ->+ Word32 ->+ Ptr () ->+ IO ()++foreign import ccall "wrapper"+ mkAudioRingBufferCallback :: AudioRingBufferCallbackC -> IO (FunPtr AudioRingBufferCallbackC)++type AudioRingBufferCallback =+ AudioRingBuffer ->+ ByteString ->+ IO ()++noAudioRingBufferCallback :: Maybe AudioRingBufferCallback+noAudioRingBufferCallback = Nothing++audioRingBufferCallbackWrapper ::+ Maybe (Ptr (FunPtr (AudioRingBufferCallbackC))) ->+ AudioRingBufferCallback ->+ Ptr AudioRingBuffer ->+ Ptr Word8 ->+ Word32 ->+ Ptr () ->+ IO ()+audioRingBufferCallbackWrapper funptrptr _cb rbuf data_ len _ = do+ rbuf' <- (newObject AudioRingBuffer) rbuf+ data_' <- (unpackByteStringWithLength len) data_+ _cb rbuf' data_'+ maybeReleaseFunPtr funptrptr++-- callback AudioFormatUnpack+audioFormatUnpackClosure :: AudioFormatUnpack -> IO Closure+audioFormatUnpackClosure cb = newCClosure =<< mkAudioFormatUnpack wrapped+ where wrapped = audioFormatUnpackWrapper Nothing cb++type AudioFormatUnpackC =+ Ptr AudioFormatInfo ->+ CUInt ->+ Ptr Word8 ->+ Ptr Word8 ->+ Int32 ->+ IO ()++foreign import ccall "wrapper"+ mkAudioFormatUnpack :: AudioFormatUnpackC -> IO (FunPtr AudioFormatUnpackC)++type AudioFormatUnpack =+ AudioFormatInfo ->+ AudioPackFlags ->+ Ptr Word8 ->+ Ptr Word8 ->+ Int32 ->+ IO ()++noAudioFormatUnpack :: Maybe AudioFormatUnpack+noAudioFormatUnpack = Nothing++audioFormatUnpackWrapper ::+ Maybe (Ptr (FunPtr (AudioFormatUnpackC))) ->+ AudioFormatUnpack ->+ Ptr AudioFormatInfo ->+ CUInt ->+ Ptr Word8 ->+ Ptr Word8 ->+ Int32 ->+ IO ()+audioFormatUnpackWrapper funptrptr _cb info flags dest data_ length_ = do+ info' <- (newPtr 104 AudioFormatInfo) info+ let flags' = (toEnum . fromIntegral) flags+ _cb info' flags' dest data_ length_+ maybeReleaseFunPtr funptrptr++-- callback AudioFormatPack+audioFormatPackClosure :: AudioFormatPack -> IO Closure+audioFormatPackClosure cb = newCClosure =<< mkAudioFormatPack wrapped+ where wrapped = audioFormatPackWrapper Nothing cb++type AudioFormatPackC =+ Ptr AudioFormatInfo ->+ CUInt ->+ Ptr Word8 ->+ Ptr Word8 ->+ Int32 ->+ IO ()++foreign import ccall "wrapper"+ mkAudioFormatPack :: AudioFormatPackC -> IO (FunPtr AudioFormatPackC)++type AudioFormatPack =+ AudioFormatInfo ->+ AudioPackFlags ->+ Ptr Word8 ->+ Ptr Word8 ->+ Int32 ->+ IO ()++noAudioFormatPack :: Maybe AudioFormatPack+noAudioFormatPack = Nothing++audioFormatPackWrapper ::+ Maybe (Ptr (FunPtr (AudioFormatPackC))) ->+ AudioFormatPack ->+ Ptr AudioFormatInfo ->+ CUInt ->+ Ptr Word8 ->+ Ptr Word8 ->+ Int32 ->+ IO ()+audioFormatPackWrapper funptrptr _cb info flags src data_ length_ = do+ info' <- (newPtr 104 AudioFormatInfo) info+ let flags' = (toEnum . fromIntegral) flags+ _cb info' flags' src data_ length_+ maybeReleaseFunPtr funptrptr++-- callback AudioClockGetTimeFunc+audioClockGetTimeFuncClosure :: AudioClockGetTimeFunc -> IO Closure+audioClockGetTimeFuncClosure cb = newCClosure =<< mkAudioClockGetTimeFunc wrapped+ where wrapped = audioClockGetTimeFuncWrapper Nothing cb++type AudioClockGetTimeFuncC =+ Ptr Gst.Clock ->+ Ptr () ->+ IO Word64++foreign import ccall "wrapper"+ mkAudioClockGetTimeFunc :: AudioClockGetTimeFuncC -> IO (FunPtr AudioClockGetTimeFuncC)++type AudioClockGetTimeFunc =+ Gst.Clock ->+ IO Word64++noAudioClockGetTimeFunc :: Maybe AudioClockGetTimeFunc+noAudioClockGetTimeFunc = Nothing++audioClockGetTimeFuncWrapper ::+ Maybe (Ptr (FunPtr (AudioClockGetTimeFuncC))) ->+ AudioClockGetTimeFunc ->+ Ptr Gst.Clock ->+ Ptr () ->+ IO Word64+audioClockGetTimeFuncWrapper funptrptr _cb clock _ = do+ clock' <- (newObject Gst.Clock) clock+ result <- _cb clock'+ maybeReleaseFunPtr funptrptr+ return result++-- callback AudioBaseSinkCustomSlavingCallback+audioBaseSinkCustomSlavingCallbackClosure :: AudioBaseSinkCustomSlavingCallback -> IO Closure+audioBaseSinkCustomSlavingCallbackClosure cb = newCClosure =<< mkAudioBaseSinkCustomSlavingCallback wrapped+ where wrapped = audioBaseSinkCustomSlavingCallbackWrapper Nothing cb++type AudioBaseSinkCustomSlavingCallbackC =+ Ptr AudioBaseSink ->+ Word64 ->+ Word64 ->+ Int64 ->+ CUInt ->+ Ptr () ->+ IO ()++foreign import ccall "wrapper"+ mkAudioBaseSinkCustomSlavingCallback :: AudioBaseSinkCustomSlavingCallbackC -> IO (FunPtr AudioBaseSinkCustomSlavingCallbackC)++type AudioBaseSinkCustomSlavingCallback =+ AudioBaseSink ->+ Word64 ->+ Word64 ->+ Int64 ->+ AudioBaseSinkDiscontReason ->+ IO ()++noAudioBaseSinkCustomSlavingCallback :: Maybe AudioBaseSinkCustomSlavingCallback+noAudioBaseSinkCustomSlavingCallback = Nothing++audioBaseSinkCustomSlavingCallbackWrapper ::+ Maybe (Ptr (FunPtr (AudioBaseSinkCustomSlavingCallbackC))) ->+ AudioBaseSinkCustomSlavingCallback ->+ Ptr AudioBaseSink ->+ Word64 ->+ Word64 ->+ Int64 ->+ CUInt ->+ Ptr () ->+ IO ()+audioBaseSinkCustomSlavingCallbackWrapper funptrptr _cb sink etime itime requestedSkew discontReason _ = do+ sink' <- (newObject AudioBaseSink) sink+ let discontReason' = (toEnum . fromIntegral) discontReason+ _cb sink' etime itime requestedSkew discontReason'+ maybeReleaseFunPtr funptrptr++
+ GI/GstAudio/Constants.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Constants+ ( + pattern META_TAG_AUDIO_STR ,+ pattern META_TAG_AUDIO_CHANNELS_STR ,+ pattern AUDIO_RATE_RANGE ,+ pattern AUDIO_FORMATS_ALL ,+ pattern AUDIO_ENCODER_SRC_NAME ,+ pattern AUDIO_ENCODER_SINK_NAME ,+ pattern AUDIO_DEF_RATE ,+ pattern AUDIO_DEF_FORMAT ,+ pattern AUDIO_DEF_CHANNELS ,+ pattern AUDIO_DECODER_SRC_NAME ,+ pattern AUDIO_DECODER_SINK_NAME ,+ pattern AUDIO_DECODER_MAX_ERRORS ,+ pattern AUDIO_CHANNELS_RANGE ,++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+++pattern META_TAG_AUDIO_STR = "audio" :: T.Text+++pattern META_TAG_AUDIO_CHANNELS_STR = "channels" :: T.Text+++pattern AUDIO_RATE_RANGE = "(int) [ 1, max ]" :: T.Text+++pattern AUDIO_FORMATS_ALL = " { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }" :: T.Text+++pattern AUDIO_ENCODER_SRC_NAME = "src" :: T.Text+++pattern AUDIO_ENCODER_SINK_NAME = "sink" :: T.Text+++pattern AUDIO_DEF_RATE = 44100 :: Int32+++pattern AUDIO_DEF_FORMAT = "S16LE" :: T.Text+++pattern AUDIO_DEF_CHANNELS = 2 :: Int32+++pattern AUDIO_DECODER_SRC_NAME = "src" :: T.Text+++pattern AUDIO_DECODER_SINK_NAME = "sink" :: T.Text+++pattern AUDIO_DECODER_MAX_ERRORS = 10 :: Int32+++pattern AUDIO_CHANNELS_RANGE = "(int) [ 1, max ]" :: T.Text++
+ GI/GstAudio/Enums.hs view
@@ -0,0 +1,544 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Enums+ ( ++-- * Exported types+ StreamVolumeFormat(..) ,+ AudioRingBufferState(..) ,+ AudioRingBufferFormatType(..) ,+ AudioPackFlags(..) ,+ AudioLayout(..) ,+ AudioFormat(..) ,+ AudioChannelPosition(..) ,+ AudioCdSrcMode(..) ,+ AudioBaseSrcSlaveMethod(..) ,+ AudioBaseSinkSlaveMethod(..) ,+ AudioBaseSinkDiscontReason(..) ,+++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+++++-- Enum StreamVolumeFormat++data StreamVolumeFormat = + StreamVolumeFormatLinear+ | StreamVolumeFormatCubic+ | StreamVolumeFormatDb+ | AnotherStreamVolumeFormat Int+ deriving (Show, Eq)++instance Enum StreamVolumeFormat where+ fromEnum StreamVolumeFormatLinear = 0+ fromEnum StreamVolumeFormatCubic = 1+ fromEnum StreamVolumeFormatDb = 2+ fromEnum (AnotherStreamVolumeFormat k) = k++ toEnum 0 = StreamVolumeFormatLinear+ toEnum 1 = StreamVolumeFormatCubic+ toEnum 2 = StreamVolumeFormatDb+ toEnum k = AnotherStreamVolumeFormat k++-- Enum AudioRingBufferState++data AudioRingBufferState = + AudioRingBufferStateStopped+ | AudioRingBufferStatePaused+ | AudioRingBufferStateStarted+ | AudioRingBufferStateError+ | AnotherAudioRingBufferState Int+ deriving (Show, Eq)++instance Enum AudioRingBufferState where+ fromEnum AudioRingBufferStateStopped = 0+ fromEnum AudioRingBufferStatePaused = 1+ fromEnum AudioRingBufferStateStarted = 2+ fromEnum AudioRingBufferStateError = 3+ fromEnum (AnotherAudioRingBufferState k) = k++ toEnum 0 = AudioRingBufferStateStopped+ toEnum 1 = AudioRingBufferStatePaused+ toEnum 2 = AudioRingBufferStateStarted+ toEnum 3 = AudioRingBufferStateError+ toEnum k = AnotherAudioRingBufferState k++foreign import ccall "gst_audio_ring_buffer_state_get_type" c_gst_audio_ring_buffer_state_get_type :: + IO GType++instance BoxedEnum AudioRingBufferState where+ boxedEnumType _ = c_gst_audio_ring_buffer_state_get_type++-- Enum AudioRingBufferFormatType++data AudioRingBufferFormatType = + AudioRingBufferFormatTypeRaw+ | AudioRingBufferFormatTypeMuLaw+ | AudioRingBufferFormatTypeALaw+ | AudioRingBufferFormatTypeImaAdpcm+ | AudioRingBufferFormatTypeMpeg+ | AudioRingBufferFormatTypeGsm+ | AudioRingBufferFormatTypeIec958+ | AudioRingBufferFormatTypeAc3+ | AudioRingBufferFormatTypeEac3+ | AudioRingBufferFormatTypeDts+ | AudioRingBufferFormatTypeMpeg2Aac+ | AudioRingBufferFormatTypeMpeg4Aac+ | AnotherAudioRingBufferFormatType Int+ deriving (Show, Eq)++instance Enum AudioRingBufferFormatType where+ fromEnum AudioRingBufferFormatTypeRaw = 0+ fromEnum AudioRingBufferFormatTypeMuLaw = 1+ fromEnum AudioRingBufferFormatTypeALaw = 2+ fromEnum AudioRingBufferFormatTypeImaAdpcm = 3+ fromEnum AudioRingBufferFormatTypeMpeg = 4+ fromEnum AudioRingBufferFormatTypeGsm = 5+ fromEnum AudioRingBufferFormatTypeIec958 = 6+ fromEnum AudioRingBufferFormatTypeAc3 = 7+ fromEnum AudioRingBufferFormatTypeEac3 = 8+ fromEnum AudioRingBufferFormatTypeDts = 9+ fromEnum AudioRingBufferFormatTypeMpeg2Aac = 10+ fromEnum AudioRingBufferFormatTypeMpeg4Aac = 11+ fromEnum (AnotherAudioRingBufferFormatType k) = k++ toEnum 0 = AudioRingBufferFormatTypeRaw+ toEnum 1 = AudioRingBufferFormatTypeMuLaw+ toEnum 2 = AudioRingBufferFormatTypeALaw+ toEnum 3 = AudioRingBufferFormatTypeImaAdpcm+ toEnum 4 = AudioRingBufferFormatTypeMpeg+ toEnum 5 = AudioRingBufferFormatTypeGsm+ toEnum 6 = AudioRingBufferFormatTypeIec958+ toEnum 7 = AudioRingBufferFormatTypeAc3+ toEnum 8 = AudioRingBufferFormatTypeEac3+ toEnum 9 = AudioRingBufferFormatTypeDts+ toEnum 10 = AudioRingBufferFormatTypeMpeg2Aac+ toEnum 11 = AudioRingBufferFormatTypeMpeg4Aac+ toEnum k = AnotherAudioRingBufferFormatType k++foreign import ccall "gst_audio_ring_buffer_format_type_get_type" c_gst_audio_ring_buffer_format_type_get_type :: + IO GType++instance BoxedEnum AudioRingBufferFormatType where+ boxedEnumType _ = c_gst_audio_ring_buffer_format_type_get_type++-- Enum AudioPackFlags++data AudioPackFlags = + AudioPackFlagsNone+ | AnotherAudioPackFlags Int+ deriving (Show, Eq)++instance Enum AudioPackFlags where+ fromEnum AudioPackFlagsNone = 0+ fromEnum (AnotherAudioPackFlags k) = k++ toEnum 0 = AudioPackFlagsNone+ toEnum k = AnotherAudioPackFlags k++foreign import ccall "gst_audio_pack_flags_get_type" c_gst_audio_pack_flags_get_type :: + IO GType++instance BoxedEnum AudioPackFlags where+ boxedEnumType _ = c_gst_audio_pack_flags_get_type++-- Enum AudioLayout++data AudioLayout = + AudioLayoutInterleaved+ | AudioLayoutNonInterleaved+ | AnotherAudioLayout Int+ deriving (Show, Eq)++instance Enum AudioLayout where+ fromEnum AudioLayoutInterleaved = 0+ fromEnum AudioLayoutNonInterleaved = 1+ fromEnum (AnotherAudioLayout k) = k++ toEnum 0 = AudioLayoutInterleaved+ toEnum 1 = AudioLayoutNonInterleaved+ toEnum k = AnotherAudioLayout k++foreign import ccall "gst_audio_layout_get_type" c_gst_audio_layout_get_type :: + IO GType++instance BoxedEnum AudioLayout where+ boxedEnumType _ = c_gst_audio_layout_get_type++-- Enum AudioFormat++data AudioFormat = + AudioFormatUnknown+ | AudioFormatEncoded+ | AudioFormatS8+ | AudioFormatU8+ | AudioFormatS16le+ | AudioFormatS16be+ | AudioFormatU16le+ | AudioFormatU16be+ | AudioFormatS2432le+ | AudioFormatS2432be+ | AudioFormatU2432le+ | AudioFormatU2432be+ | AudioFormatS32le+ | AudioFormatS32be+ | AudioFormatU32le+ | AudioFormatU32be+ | AudioFormatS24le+ | AudioFormatS24be+ | AudioFormatU24le+ | AudioFormatU24be+ | AudioFormatS20le+ | AudioFormatS20be+ | AudioFormatU20le+ | AudioFormatU20be+ | AudioFormatS18le+ | AudioFormatS18be+ | AudioFormatU18le+ | AudioFormatU18be+ | AudioFormatF32le+ | AudioFormatF32be+ | AudioFormatF64le+ | AudioFormatF64be+ | AudioFormatS16+ | AudioFormatU16+ | AudioFormatS2432+ | AudioFormatU2432+ | AudioFormatS32+ | AudioFormatU32+ | AudioFormatS24+ | AudioFormatU24+ | AudioFormatS20+ | AudioFormatU20+ | AudioFormatS18+ | AudioFormatU18+ | AudioFormatF32+ | AudioFormatF64+ | AnotherAudioFormat Int+ deriving (Show, Eq)++instance Enum AudioFormat where+ fromEnum AudioFormatUnknown = 0+ fromEnum AudioFormatEncoded = 1+ fromEnum AudioFormatS8 = 2+ fromEnum AudioFormatU8 = 3+ fromEnum AudioFormatS16le = 4+ fromEnum AudioFormatS16be = 5+ fromEnum AudioFormatU16le = 6+ fromEnum AudioFormatU16be = 7+ fromEnum AudioFormatS2432le = 8+ fromEnum AudioFormatS2432be = 9+ fromEnum AudioFormatU2432le = 10+ fromEnum AudioFormatU2432be = 11+ fromEnum AudioFormatS32le = 12+ fromEnum AudioFormatS32be = 13+ fromEnum AudioFormatU32le = 14+ fromEnum AudioFormatU32be = 15+ fromEnum AudioFormatS24le = 16+ fromEnum AudioFormatS24be = 17+ fromEnum AudioFormatU24le = 18+ fromEnum AudioFormatU24be = 19+ fromEnum AudioFormatS20le = 20+ fromEnum AudioFormatS20be = 21+ fromEnum AudioFormatU20le = 22+ fromEnum AudioFormatU20be = 23+ fromEnum AudioFormatS18le = 24+ fromEnum AudioFormatS18be = 25+ fromEnum AudioFormatU18le = 26+ fromEnum AudioFormatU18be = 27+ fromEnum AudioFormatF32le = 28+ fromEnum AudioFormatF32be = 29+ fromEnum AudioFormatF64le = 30+ fromEnum AudioFormatF64be = 31+ fromEnum AudioFormatS16 = 4+ fromEnum AudioFormatU16 = 6+ fromEnum AudioFormatS2432 = 8+ fromEnum AudioFormatU2432 = 10+ fromEnum AudioFormatS32 = 12+ fromEnum AudioFormatU32 = 14+ fromEnum AudioFormatS24 = 16+ fromEnum AudioFormatU24 = 18+ fromEnum AudioFormatS20 = 20+ fromEnum AudioFormatU20 = 22+ fromEnum AudioFormatS18 = 24+ fromEnum AudioFormatU18 = 26+ fromEnum AudioFormatF32 = 28+ fromEnum AudioFormatF64 = 30+ fromEnum (AnotherAudioFormat k) = k++ toEnum 0 = AudioFormatUnknown+ toEnum 1 = AudioFormatEncoded+ toEnum 2 = AudioFormatS8+ toEnum 3 = AudioFormatU8+ toEnum 4 = AudioFormatS16le+ toEnum 5 = AudioFormatS16be+ toEnum 6 = AudioFormatU16le+ toEnum 7 = AudioFormatU16be+ toEnum 8 = AudioFormatS2432le+ toEnum 9 = AudioFormatS2432be+ toEnum 10 = AudioFormatU2432le+ toEnum 11 = AudioFormatU2432be+ toEnum 12 = AudioFormatS32le+ toEnum 13 = AudioFormatS32be+ toEnum 14 = AudioFormatU32le+ toEnum 15 = AudioFormatU32be+ toEnum 16 = AudioFormatS24le+ toEnum 17 = AudioFormatS24be+ toEnum 18 = AudioFormatU24le+ toEnum 19 = AudioFormatU24be+ toEnum 20 = AudioFormatS20le+ toEnum 21 = AudioFormatS20be+ toEnum 22 = AudioFormatU20le+ toEnum 23 = AudioFormatU20be+ toEnum 24 = AudioFormatS18le+ toEnum 25 = AudioFormatS18be+ toEnum 26 = AudioFormatU18le+ toEnum 27 = AudioFormatU18be+ toEnum 28 = AudioFormatF32le+ toEnum 29 = AudioFormatF32be+ toEnum 30 = AudioFormatF64le+ toEnum 31 = AudioFormatF64be+ toEnum k = AnotherAudioFormat k++foreign import ccall "gst_audio_format_get_type" c_gst_audio_format_get_type :: + IO GType++instance BoxedEnum AudioFormat where+ boxedEnumType _ = c_gst_audio_format_get_type++-- Enum AudioChannelPosition++data AudioChannelPosition = + AudioChannelPositionNone+ | AudioChannelPositionMono+ | AudioChannelPositionInvalid+ | AudioChannelPositionFrontLeft+ | AudioChannelPositionFrontRight+ | AudioChannelPositionFrontCenter+ | AudioChannelPositionLfe1+ | AudioChannelPositionRearLeft+ | AudioChannelPositionRearRight+ | AudioChannelPositionFrontLeftOfCenter+ | AudioChannelPositionFrontRightOfCenter+ | AudioChannelPositionRearCenter+ | AudioChannelPositionLfe2+ | AudioChannelPositionSideLeft+ | AudioChannelPositionSideRight+ | AudioChannelPositionTopFrontLeft+ | AudioChannelPositionTopFrontRight+ | AudioChannelPositionTopFrontCenter+ | AudioChannelPositionTopCenter+ | AudioChannelPositionTopRearLeft+ | AudioChannelPositionTopRearRight+ | AudioChannelPositionTopSideLeft+ | AudioChannelPositionTopSideRight+ | AudioChannelPositionTopRearCenter+ | AudioChannelPositionBottomFrontCenter+ | AudioChannelPositionBottomFrontLeft+ | AudioChannelPositionBottomFrontRight+ | AudioChannelPositionWideLeft+ | AudioChannelPositionWideRight+ | AudioChannelPositionSurroundLeft+ | AudioChannelPositionSurroundRight+ | AnotherAudioChannelPosition Int+ deriving (Show, Eq)++instance Enum AudioChannelPosition where+ fromEnum AudioChannelPositionNone = -3+ fromEnum AudioChannelPositionMono = -2+ fromEnum AudioChannelPositionInvalid = -1+ fromEnum AudioChannelPositionFrontLeft = 0+ fromEnum AudioChannelPositionFrontRight = 1+ fromEnum AudioChannelPositionFrontCenter = 2+ fromEnum AudioChannelPositionLfe1 = 3+ fromEnum AudioChannelPositionRearLeft = 4+ fromEnum AudioChannelPositionRearRight = 5+ fromEnum AudioChannelPositionFrontLeftOfCenter = 6+ fromEnum AudioChannelPositionFrontRightOfCenter = 7+ fromEnum AudioChannelPositionRearCenter = 8+ fromEnum AudioChannelPositionLfe2 = 9+ fromEnum AudioChannelPositionSideLeft = 10+ fromEnum AudioChannelPositionSideRight = 11+ fromEnum AudioChannelPositionTopFrontLeft = 12+ fromEnum AudioChannelPositionTopFrontRight = 13+ fromEnum AudioChannelPositionTopFrontCenter = 14+ fromEnum AudioChannelPositionTopCenter = 15+ fromEnum AudioChannelPositionTopRearLeft = 16+ fromEnum AudioChannelPositionTopRearRight = 17+ fromEnum AudioChannelPositionTopSideLeft = 18+ fromEnum AudioChannelPositionTopSideRight = 19+ fromEnum AudioChannelPositionTopRearCenter = 20+ fromEnum AudioChannelPositionBottomFrontCenter = 21+ fromEnum AudioChannelPositionBottomFrontLeft = 22+ fromEnum AudioChannelPositionBottomFrontRight = 23+ fromEnum AudioChannelPositionWideLeft = 24+ fromEnum AudioChannelPositionWideRight = 25+ fromEnum AudioChannelPositionSurroundLeft = 26+ fromEnum AudioChannelPositionSurroundRight = 27+ fromEnum (AnotherAudioChannelPosition k) = k++ toEnum -3 = AudioChannelPositionNone+ toEnum -2 = AudioChannelPositionMono+ toEnum -1 = AudioChannelPositionInvalid+ toEnum 0 = AudioChannelPositionFrontLeft+ toEnum 1 = AudioChannelPositionFrontRight+ toEnum 2 = AudioChannelPositionFrontCenter+ toEnum 3 = AudioChannelPositionLfe1+ toEnum 4 = AudioChannelPositionRearLeft+ toEnum 5 = AudioChannelPositionRearRight+ toEnum 6 = AudioChannelPositionFrontLeftOfCenter+ toEnum 7 = AudioChannelPositionFrontRightOfCenter+ toEnum 8 = AudioChannelPositionRearCenter+ toEnum 9 = AudioChannelPositionLfe2+ toEnum 10 = AudioChannelPositionSideLeft+ toEnum 11 = AudioChannelPositionSideRight+ toEnum 12 = AudioChannelPositionTopFrontLeft+ toEnum 13 = AudioChannelPositionTopFrontRight+ toEnum 14 = AudioChannelPositionTopFrontCenter+ toEnum 15 = AudioChannelPositionTopCenter+ toEnum 16 = AudioChannelPositionTopRearLeft+ toEnum 17 = AudioChannelPositionTopRearRight+ toEnum 18 = AudioChannelPositionTopSideLeft+ toEnum 19 = AudioChannelPositionTopSideRight+ toEnum 20 = AudioChannelPositionTopRearCenter+ toEnum 21 = AudioChannelPositionBottomFrontCenter+ toEnum 22 = AudioChannelPositionBottomFrontLeft+ toEnum 23 = AudioChannelPositionBottomFrontRight+ toEnum 24 = AudioChannelPositionWideLeft+ toEnum 25 = AudioChannelPositionWideRight+ toEnum 26 = AudioChannelPositionSurroundLeft+ toEnum 27 = AudioChannelPositionSurroundRight+ toEnum k = AnotherAudioChannelPosition k++foreign import ccall "gst_audio_channel_position_get_type" c_gst_audio_channel_position_get_type :: + IO GType++instance BoxedEnum AudioChannelPosition where+ boxedEnumType _ = c_gst_audio_channel_position_get_type++-- Enum AudioCdSrcMode++data AudioCdSrcMode = + AudioCdSrcModeNormal+ | AudioCdSrcModeContinuous+ | AnotherAudioCdSrcMode Int+ deriving (Show, Eq)++instance Enum AudioCdSrcMode where+ fromEnum AudioCdSrcModeNormal = 0+ fromEnum AudioCdSrcModeContinuous = 1+ fromEnum (AnotherAudioCdSrcMode k) = k++ toEnum 0 = AudioCdSrcModeNormal+ toEnum 1 = AudioCdSrcModeContinuous+ toEnum k = AnotherAudioCdSrcMode k++foreign import ccall "gst_audio_cd_src_mode_get_type" c_gst_audio_cd_src_mode_get_type :: + IO GType++instance BoxedEnum AudioCdSrcMode where+ boxedEnumType _ = c_gst_audio_cd_src_mode_get_type++-- Enum AudioBaseSrcSlaveMethod++data AudioBaseSrcSlaveMethod = + AudioBaseSrcSlaveMethodResample+ | AudioBaseSrcSlaveMethodReTimestamp+ | AudioBaseSrcSlaveMethodSkew+ | AudioBaseSrcSlaveMethodNone+ | AnotherAudioBaseSrcSlaveMethod Int+ deriving (Show, Eq)++instance Enum AudioBaseSrcSlaveMethod where+ fromEnum AudioBaseSrcSlaveMethodResample = 0+ fromEnum AudioBaseSrcSlaveMethodReTimestamp = 1+ fromEnum AudioBaseSrcSlaveMethodSkew = 2+ fromEnum AudioBaseSrcSlaveMethodNone = 3+ fromEnum (AnotherAudioBaseSrcSlaveMethod k) = k++ toEnum 0 = AudioBaseSrcSlaveMethodResample+ toEnum 1 = AudioBaseSrcSlaveMethodReTimestamp+ toEnum 2 = AudioBaseSrcSlaveMethodSkew+ toEnum 3 = AudioBaseSrcSlaveMethodNone+ toEnum k = AnotherAudioBaseSrcSlaveMethod k++foreign import ccall "gst_audio_base_src_slave_method_get_type" c_gst_audio_base_src_slave_method_get_type :: + IO GType++instance BoxedEnum AudioBaseSrcSlaveMethod where+ boxedEnumType _ = c_gst_audio_base_src_slave_method_get_type++-- Enum AudioBaseSinkSlaveMethod++data AudioBaseSinkSlaveMethod = + AudioBaseSinkSlaveMethodResample+ | AudioBaseSinkSlaveMethodSkew+ | AudioBaseSinkSlaveMethodNone+ | AudioBaseSinkSlaveMethodCustom+ | AnotherAudioBaseSinkSlaveMethod Int+ deriving (Show, Eq)++instance Enum AudioBaseSinkSlaveMethod where+ fromEnum AudioBaseSinkSlaveMethodResample = 0+ fromEnum AudioBaseSinkSlaveMethodSkew = 1+ fromEnum AudioBaseSinkSlaveMethodNone = 2+ fromEnum AudioBaseSinkSlaveMethodCustom = 3+ fromEnum (AnotherAudioBaseSinkSlaveMethod k) = k++ toEnum 0 = AudioBaseSinkSlaveMethodResample+ toEnum 1 = AudioBaseSinkSlaveMethodSkew+ toEnum 2 = AudioBaseSinkSlaveMethodNone+ toEnum 3 = AudioBaseSinkSlaveMethodCustom+ toEnum k = AnotherAudioBaseSinkSlaveMethod k++foreign import ccall "gst_audio_base_sink_slave_method_get_type" c_gst_audio_base_sink_slave_method_get_type :: + IO GType++instance BoxedEnum AudioBaseSinkSlaveMethod where+ boxedEnumType _ = c_gst_audio_base_sink_slave_method_get_type++-- Enum AudioBaseSinkDiscontReason++data AudioBaseSinkDiscontReason = + AudioBaseSinkDiscontReasonNoDiscont+ | AudioBaseSinkDiscontReasonNewCaps+ | AudioBaseSinkDiscontReasonFlush+ | AudioBaseSinkDiscontReasonSyncLatency+ | AudioBaseSinkDiscontReasonAlignment+ | AudioBaseSinkDiscontReasonDeviceFailure+ | AnotherAudioBaseSinkDiscontReason Int+ deriving (Show, Eq)++instance Enum AudioBaseSinkDiscontReason where+ fromEnum AudioBaseSinkDiscontReasonNoDiscont = 0+ fromEnum AudioBaseSinkDiscontReasonNewCaps = 1+ fromEnum AudioBaseSinkDiscontReasonFlush = 2+ fromEnum AudioBaseSinkDiscontReasonSyncLatency = 3+ fromEnum AudioBaseSinkDiscontReasonAlignment = 4+ fromEnum AudioBaseSinkDiscontReasonDeviceFailure = 5+ fromEnum (AnotherAudioBaseSinkDiscontReason k) = k++ toEnum 0 = AudioBaseSinkDiscontReasonNoDiscont+ toEnum 1 = AudioBaseSinkDiscontReasonNewCaps+ toEnum 2 = AudioBaseSinkDiscontReasonFlush+ toEnum 3 = AudioBaseSinkDiscontReasonSyncLatency+ toEnum 4 = AudioBaseSinkDiscontReasonAlignment+ toEnum 5 = AudioBaseSinkDiscontReasonDeviceFailure+ toEnum k = AnotherAudioBaseSinkDiscontReason k++
+ GI/GstAudio/Flags.hs view
@@ -0,0 +1,88 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Flags+ ( ++-- * Exported types+ AudioFormatFlags(..) ,+ AudioFlags(..) ,+++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+++++-- Flags AudioFormatFlags++data AudioFormatFlags = + AudioFormatFlagsInteger+ | AudioFormatFlagsFloat+ | AudioFormatFlagsSigned+ | AudioFormatFlagsComplex+ | AudioFormatFlagsUnpack+ | AnotherAudioFormatFlags Int+ deriving (Show, Eq)++instance Enum AudioFormatFlags where+ fromEnum AudioFormatFlagsInteger = 1+ fromEnum AudioFormatFlagsFloat = 2+ fromEnum AudioFormatFlagsSigned = 4+ fromEnum AudioFormatFlagsComplex = 16+ fromEnum AudioFormatFlagsUnpack = 32+ fromEnum (AnotherAudioFormatFlags k) = k++ toEnum 1 = AudioFormatFlagsInteger+ toEnum 2 = AudioFormatFlagsFloat+ toEnum 4 = AudioFormatFlagsSigned+ toEnum 16 = AudioFormatFlagsComplex+ toEnum 32 = AudioFormatFlagsUnpack+ toEnum k = AnotherAudioFormatFlags k++foreign import ccall "gst_audio_format_flags_get_type" c_gst_audio_format_flags_get_type :: + IO GType++instance BoxedEnum AudioFormatFlags where+ boxedEnumType _ = c_gst_audio_format_flags_get_type++instance IsGFlag AudioFormatFlags++-- Flags AudioFlags++data AudioFlags = + AudioFlagsNone+ | AudioFlagsUnpositioned+ | AnotherAudioFlags Int+ deriving (Show, Eq)++instance Enum AudioFlags where+ fromEnum AudioFlagsNone = 0+ fromEnum AudioFlagsUnpositioned = 1+ fromEnum (AnotherAudioFlags k) = k++ toEnum 0 = AudioFlagsNone+ toEnum 1 = AudioFlagsUnpositioned+ toEnum k = AnotherAudioFlags k++foreign import ccall "gst_audio_flags_get_type" c_gst_audio_flags_get_type :: + IO GType++instance BoxedEnum AudioFlags where+ boxedEnumType _ = c_gst_audio_flags_get_type++instance IsGFlag AudioFlags++
+ GI/GstAudio/Functions.hs view
@@ -0,0 +1,506 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Functions+ ( ++ -- * Methods+-- ** audioBufferClip+ audioBufferClip ,+++-- ** audioBufferReorderChannels+ audioBufferReorderChannels ,+++-- ** audioChannelPositionsFromMask+ audioChannelPositionsFromMask ,+++-- ** audioChannelPositionsToMask+ audioChannelPositionsToMask ,+++-- ** audioChannelPositionsToValidOrder+ audioChannelPositionsToValidOrder ,+++-- ** audioCheckValidChannelPositions+ audioCheckValidChannelPositions ,+++-- ** audioDownmixMetaApiGetType+ audioDownmixMetaApiGetType ,+++-- ** audioFormatInfoGetType+ audioFormatInfoGetType ,+++-- ** audioGetChannelReorderMap+ audioGetChannelReorderMap ,+++-- ** audioIec61937FrameSize+ audioIec61937FrameSize ,+++-- ** audioIec61937Payload+ audioIec61937Payload ,+++-- ** audioReorderChannels+ audioReorderChannels ,+++-- ** bufferAddAudioDownmixMeta+ bufferAddAudioDownmixMeta ,+++-- ** bufferGetAudioDownmixMetaForChannels+ bufferGetAudioDownmixMetaForChannels ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.Gst as Gst++-- function gst_buffer_get_audio_downmix_meta_for_channels+-- Args : [Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_position", argType = TCArray False (-1) 2 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "to_channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TInterface "GstAudio" "AudioDownmixMeta"+-- throws : False+-- Skip return : False++foreign import ccall "gst_buffer_get_audio_downmix_meta_for_channels" gst_buffer_get_audio_downmix_meta_for_channels :: + Ptr Gst.Buffer -> -- buffer : TInterface "Gst" "Buffer"+ Ptr CUInt -> -- to_position : TCArray False (-1) 2 (TInterface "GstAudio" "AudioChannelPosition")+ Int32 -> -- to_channels : TBasicType TInt32+ IO (Ptr AudioDownmixMeta)+++bufferGetAudioDownmixMetaForChannels ::+ (MonadIO m) =>+ Gst.Buffer -- buffer+ -> [AudioChannelPosition] -- toPosition+ -> m AudioDownmixMeta -- result+bufferGetAudioDownmixMetaForChannels buffer toPosition = liftIO $ do+ let toChannels = fromIntegral $ length toPosition+ let buffer' = unsafeManagedPtrGetPtr buffer+ let toPosition' = map (fromIntegral . fromEnum) toPosition+ toPosition'' <- packStorableArray toPosition'+ result <- gst_buffer_get_audio_downmix_meta_for_channels buffer' toPosition'' toChannels+ checkUnexpectedReturnNULL "gst_buffer_get_audio_downmix_meta_for_channels" result+ result' <- (newPtr 48 AudioDownmixMeta) result+ touchManagedPtr buffer+ freeMem toPosition''+ return result'+++-- function gst_buffer_add_audio_downmix_meta+-- Args : [Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_position", argType = TCArray False (-1) 2 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_position", argType = TCArray False (-1) 4 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "matrix", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "to_channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TInterface "GstAudio" "AudioDownmixMeta"+-- throws : False+-- Skip return : False++foreign import ccall "gst_buffer_add_audio_downmix_meta" gst_buffer_add_audio_downmix_meta :: + Ptr Gst.Buffer -> -- buffer : TInterface "Gst" "Buffer"+ Ptr CUInt -> -- from_position : TCArray False (-1) 2 (TInterface "GstAudio" "AudioChannelPosition")+ Int32 -> -- from_channels : TBasicType TInt32+ Ptr CUInt -> -- to_position : TCArray False (-1) 4 (TInterface "GstAudio" "AudioChannelPosition")+ Int32 -> -- to_channels : TBasicType TInt32+ CFloat -> -- matrix : TBasicType TFloat+ IO (Ptr AudioDownmixMeta)+++bufferAddAudioDownmixMeta ::+ (MonadIO m) =>+ Gst.Buffer -- buffer+ -> [AudioChannelPosition] -- fromPosition+ -> [AudioChannelPosition] -- toPosition+ -> Float -- matrix+ -> m AudioDownmixMeta -- result+bufferAddAudioDownmixMeta buffer fromPosition toPosition matrix = liftIO $ do+ let toChannels = fromIntegral $ length toPosition+ let fromChannels = fromIntegral $ length fromPosition+ let buffer' = unsafeManagedPtrGetPtr buffer+ let fromPosition' = map (fromIntegral . fromEnum) fromPosition+ fromPosition'' <- packStorableArray fromPosition'+ let toPosition' = map (fromIntegral . fromEnum) toPosition+ toPosition'' <- packStorableArray toPosition'+ let matrix' = realToFrac matrix+ result <- gst_buffer_add_audio_downmix_meta buffer' fromPosition'' fromChannels toPosition'' toChannels matrix'+ checkUnexpectedReturnNULL "gst_buffer_add_audio_downmix_meta" result+ result' <- (newPtr 48 AudioDownmixMeta) result+ touchManagedPtr buffer+ freeMem fromPosition''+ freeMem toPosition''+ return result'+++-- function gst_audio_reorder_channels+-- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "GstAudio" "AudioFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from", argType = TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to", argType = TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_reorder_channels" gst_audio_reorder_channels :: + Ptr Word8 -> -- data : TCArray False (-1) 1 (TBasicType TUInt8)+ Word64 -> -- size : TBasicType TUInt64+ CUInt -> -- format : TInterface "GstAudio" "AudioFormat"+ Int32 -> -- channels : TBasicType TInt32+ Ptr CUInt -> -- from : TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition")+ Ptr CUInt -> -- to : TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition")+ IO CInt+++audioReorderChannels ::+ (MonadIO m) =>+ ByteString -- data_+ -> AudioFormat -- format+ -> Int32 -- channels+ -> Ptr CUInt -- from+ -> Ptr CUInt -- to+ -> m Bool -- result+audioReorderChannels data_ format channels from to = liftIO $ do+ let size = fromIntegral $ B.length data_+ data_' <- packByteString data_+ let format' = (fromIntegral . fromEnum) format+ result <- gst_audio_reorder_channels data_' size format' channels from to+ let result' = (/= 0) result+ freeMem data_'+ return result'+++-- function gst_audio_iec61937_payload+-- Args : [Arg {argCName = "src", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_n", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dst", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dst_n", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spec", argType = TInterface "GstAudio" "AudioRingBufferSpec", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "endianness", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "dst_n", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_n", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_iec61937_payload" gst_audio_iec61937_payload :: + Ptr Word8 -> -- src : TCArray False (-1) 1 (TBasicType TUInt8)+ Word32 -> -- src_n : TBasicType TUInt32+ Ptr Word8 -> -- dst : TCArray False (-1) 3 (TBasicType TUInt8)+ Word32 -> -- dst_n : TBasicType TUInt32+ Ptr AudioRingBufferSpec -> -- spec : TInterface "GstAudio" "AudioRingBufferSpec"+ Int32 -> -- endianness : TBasicType TInt32+ IO CInt+++audioIec61937Payload ::+ (MonadIO m) =>+ ByteString -- src+ -> ByteString -- dst+ -> AudioRingBufferSpec -- spec+ -> Int32 -- endianness+ -> m Bool -- result+audioIec61937Payload src dst spec endianness = liftIO $ do+ let dstN = fromIntegral $ B.length dst+ let srcN = fromIntegral $ B.length src+ src' <- packByteString src+ dst' <- packByteString dst+ let spec' = unsafeManagedPtrGetPtr spec+ result <- gst_audio_iec61937_payload src' srcN dst' dstN spec' endianness+ let result' = (/= 0) result+ touchManagedPtr spec+ freeMem src'+ freeMem dst'+ return result'+++-- function gst_audio_iec61937_frame_size+-- Args : [Arg {argCName = "spec", argType = TInterface "GstAudio" "AudioRingBufferSpec", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_iec61937_frame_size" gst_audio_iec61937_frame_size :: + Ptr AudioRingBufferSpec -> -- spec : TInterface "GstAudio" "AudioRingBufferSpec"+ IO Word32+++audioIec61937FrameSize ::+ (MonadIO m) =>+ AudioRingBufferSpec -- spec+ -> m Word32 -- result+audioIec61937FrameSize spec = liftIO $ do+ let spec' = unsafeManagedPtrGetPtr spec+ result <- gst_audio_iec61937_frame_size spec'+ touchManagedPtr spec+ return result+++-- function gst_audio_get_channel_reorder_map+-- Args : [Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from", argType = TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to", argType = TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reorder_map", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_get_channel_reorder_map" gst_audio_get_channel_reorder_map :: + Int32 -> -- channels : TBasicType TInt32+ Ptr CUInt -> -- from : TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition")+ Ptr CUInt -> -- to : TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition")+ Ptr Int32 -> -- reorder_map : TCArray False (-1) (-1) (TBasicType TInt32)+ IO CInt+++audioGetChannelReorderMap ::+ (MonadIO m) =>+ Int32 -- channels+ -> Ptr CUInt -- from+ -> Ptr CUInt -- to+ -> Ptr Int32 -- reorderMap+ -> m Bool -- result+audioGetChannelReorderMap channels from to reorderMap = liftIO $ do+ result <- gst_audio_get_channel_reorder_map channels from to reorderMap+ let result' = (/= 0) result+ return result'+++-- function gst_audio_format_info_get_type+-- Args : []+-- Lengths : []+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_format_info_get_type" gst_audio_format_info_get_type :: + IO CGType+++audioFormatInfoGetType ::+ (MonadIO m) =>+ m GType -- result+audioFormatInfoGetType = liftIO $ do+ result <- gst_audio_format_info_get_type+ let result' = GType result+ return result'+++-- function gst_audio_downmix_meta_api_get_type+-- Args : []+-- Lengths : []+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_downmix_meta_api_get_type" gst_audio_downmix_meta_api_get_type :: + IO CGType+++audioDownmixMetaApiGetType ::+ (MonadIO m) =>+ m GType -- result+audioDownmixMetaApiGetType = liftIO $ do+ result <- gst_audio_downmix_meta_api_get_type+ let result' = GType result+ return result'+++-- function gst_audio_check_valid_channel_positions+-- Args : [Arg {argCName = "position", argType = TCArray False (-1) 1 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "force_order", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_check_valid_channel_positions" gst_audio_check_valid_channel_positions :: + Ptr CUInt -> -- position : TCArray False (-1) 1 (TInterface "GstAudio" "AudioChannelPosition")+ Int32 -> -- channels : TBasicType TInt32+ CInt -> -- force_order : TBasicType TBoolean+ IO CInt+++audioCheckValidChannelPositions ::+ (MonadIO m) =>+ [AudioChannelPosition] -- position+ -> Bool -- forceOrder+ -> m Bool -- result+audioCheckValidChannelPositions position forceOrder = liftIO $ do+ let channels = fromIntegral $ length position+ let position' = map (fromIntegral . fromEnum) position+ position'' <- packStorableArray position'+ let forceOrder' = (fromIntegral . fromEnum) forceOrder+ result <- gst_audio_check_valid_channel_positions position'' channels forceOrder'+ let result' = (/= 0) result+ freeMem position''+ return result'+++-- function gst_audio_channel_positions_to_valid_order+-- Args : [Arg {argCName = "position", argType = TCArray False (-1) 1 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_channel_positions_to_valid_order" gst_audio_channel_positions_to_valid_order :: + Ptr CUInt -> -- position : TCArray False (-1) 1 (TInterface "GstAudio" "AudioChannelPosition")+ Int32 -> -- channels : TBasicType TInt32+ IO CInt+++audioChannelPositionsToValidOrder ::+ (MonadIO m) =>+ [AudioChannelPosition] -- position+ -> m Bool -- result+audioChannelPositionsToValidOrder position = liftIO $ do+ let channels = fromIntegral $ length position+ let position' = map (fromIntegral . fromEnum) position+ position'' <- packStorableArray position'+ result <- gst_audio_channel_positions_to_valid_order position'' channels+ let result' = (/= 0) result+ freeMem position''+ return result'+++-- function gst_audio_channel_positions_to_mask+-- Args : [Arg {argCName = "position", argType = TCArray False (-1) 1 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "force_order", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channel_mask", argType = TCArray False (-1) (-1) (TBasicType TUInt64), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_channel_positions_to_mask" gst_audio_channel_positions_to_mask :: + Ptr CUInt -> -- position : TCArray False (-1) 1 (TInterface "GstAudio" "AudioChannelPosition")+ Int32 -> -- channels : TBasicType TInt32+ CInt -> -- force_order : TBasicType TBoolean+ Ptr Word64 -> -- channel_mask : TCArray False (-1) (-1) (TBasicType TUInt64)+ IO CInt+++audioChannelPositionsToMask ::+ (MonadIO m) =>+ [AudioChannelPosition] -- position+ -> Bool -- forceOrder+ -> Ptr Word64 -- channelMask+ -> m Bool -- result+audioChannelPositionsToMask position forceOrder channelMask = liftIO $ do+ let channels = fromIntegral $ length position+ let position' = map (fromIntegral . fromEnum) position+ position'' <- packStorableArray position'+ let forceOrder' = (fromIntegral . fromEnum) forceOrder+ result <- gst_audio_channel_positions_to_mask position'' channels forceOrder' channelMask+ let result' = (/= 0) result+ freeMem position''+ return result'+++-- function gst_audio_channel_positions_from_mask+-- Args : [Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channel_mask", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TCArray False (-1) 0 (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_channel_positions_from_mask" gst_audio_channel_positions_from_mask :: + Int32 -> -- channels : TBasicType TInt32+ Word64 -> -- channel_mask : TBasicType TUInt64+ Ptr CUInt -> -- position : TCArray False (-1) 0 (TInterface "GstAudio" "AudioChannelPosition")+ IO CInt+++audioChannelPositionsFromMask ::+ (MonadIO m) =>+ Word64 -- channelMask+ -> [AudioChannelPosition] -- position+ -> m Bool -- result+audioChannelPositionsFromMask channelMask position = liftIO $ do+ let channels = fromIntegral $ length position+ let position' = map (fromIntegral . fromEnum) position+ position'' <- packStorableArray position'+ result <- gst_audio_channel_positions_from_mask channels channelMask position''+ let result' = (/= 0) result+ freeMem position''+ return result'+++-- function gst_audio_buffer_reorder_channels+-- Args : [Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "GstAudio" "AudioFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from", argType = TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to", argType = TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_buffer_reorder_channels" gst_audio_buffer_reorder_channels :: + Ptr Gst.Buffer -> -- buffer : TInterface "Gst" "Buffer"+ CUInt -> -- format : TInterface "GstAudio" "AudioFormat"+ Int32 -> -- channels : TBasicType TInt32+ Ptr CUInt -> -- from : TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition")+ Ptr CUInt -> -- to : TCArray False (-1) (-1) (TInterface "GstAudio" "AudioChannelPosition")+ IO CInt+++audioBufferReorderChannels ::+ (MonadIO m) =>+ Gst.Buffer -- buffer+ -> AudioFormat -- format+ -> Int32 -- channels+ -> Ptr CUInt -- from+ -> Ptr CUInt -- to+ -> m Bool -- result+audioBufferReorderChannels buffer format channels from to = liftIO $ do+ let buffer' = unsafeManagedPtrGetPtr buffer+ let format' = (fromIntegral . fromEnum) format+ result <- gst_audio_buffer_reorder_channels buffer' format' channels from to+ let result' = (/= 0) result+ touchManagedPtr buffer+ return result'+++-- function gst_audio_buffer_clip+-- Args : [Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "segment", argType = TInterface "Gst" "Segment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bpf", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_buffer_clip" gst_audio_buffer_clip :: + Ptr Gst.Buffer -> -- buffer : TInterface "Gst" "Buffer"+ Ptr Gst.Segment -> -- segment : TInterface "Gst" "Segment"+ Int32 -> -- rate : TBasicType TInt32+ Int32 -> -- bpf : TBasicType TInt32+ IO (Ptr Gst.Buffer)+++audioBufferClip ::+ (MonadIO m) =>+ Gst.Buffer -- buffer+ -> Gst.Segment -- segment+ -> Int32 -- rate+ -> Int32 -- bpf+ -> m Gst.Buffer -- result+audioBufferClip buffer segment rate bpf = liftIO $ do+ buffer' <- copyBoxed buffer+ let segment' = unsafeManagedPtrGetPtr segment+ result <- gst_audio_buffer_clip buffer' segment' rate bpf+ checkUnexpectedReturnNULL "gst_audio_buffer_clip" result+ result' <- (wrapBoxed Gst.Buffer) result+ touchManagedPtr buffer+ touchManagedPtr segment+ return result'+++
+ GI/GstAudio/Interfaces.hs view
@@ -0,0 +1,27 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Interfaces+ ( module GI.GstAudio.Interfaces.StreamVolume,+++ ) where++import GI.GstAudio.Interfaces.StreamVolume++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks++
+ GI/GstAudio/Interfaces/StreamVolume.hs view
@@ -0,0 +1,341 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Interfaces.StreamVolume+ ( ++-- * Exported types+ StreamVolume(..) ,+ noStreamVolume ,+ StreamVolumeK ,+ toStreamVolume ,+++ -- * Methods+-- ** streamVolumeConvertVolume+ streamVolumeConvertVolume ,+++-- ** streamVolumeGetMute+ StreamVolumeGetMuteMethodInfo ,+ streamVolumeGetMute ,+++-- ** streamVolumeGetVolume+ StreamVolumeGetVolumeMethodInfo ,+ streamVolumeGetVolume ,+++-- ** streamVolumeSetMute+ StreamVolumeSetMuteMethodInfo ,+ streamVolumeSetMute ,+++-- ** streamVolumeSetVolume+ StreamVolumeSetVolumeMethodInfo ,+ streamVolumeSetVolume ,+++++ -- * Properties+-- ** Mute+ StreamVolumeMutePropertyInfo ,+ constructStreamVolumeMute ,+ getStreamVolumeMute ,+ setStreamVolumeMute ,+++-- ** Volume+ StreamVolumeVolumePropertyInfo ,+ constructStreamVolumeVolume ,+ getStreamVolumeVolume ,+ setStreamVolumeVolume ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject++-- interface StreamVolume ++newtype StreamVolume = StreamVolume (ForeignPtr StreamVolume)+noStreamVolume :: Maybe StreamVolume+noStreamVolume = Nothing++type family ResolveStreamVolumeMethod (t :: Symbol) (o :: *) :: * where+ ResolveStreamVolumeMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveStreamVolumeMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveStreamVolumeMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveStreamVolumeMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveStreamVolumeMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveStreamVolumeMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveStreamVolumeMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveStreamVolumeMethod "ref" o = GObject.ObjectRefMethodInfo+ ResolveStreamVolumeMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveStreamVolumeMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveStreamVolumeMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveStreamVolumeMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveStreamVolumeMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveStreamVolumeMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveStreamVolumeMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveStreamVolumeMethod "unref" o = GObject.ObjectUnrefMethodInfo+ ResolveStreamVolumeMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveStreamVolumeMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveStreamVolumeMethod "getMute" o = StreamVolumeGetMuteMethodInfo+ ResolveStreamVolumeMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveStreamVolumeMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveStreamVolumeMethod "getVolume" o = StreamVolumeGetVolumeMethodInfo+ ResolveStreamVolumeMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveStreamVolumeMethod "setMute" o = StreamVolumeSetMuteMethodInfo+ ResolveStreamVolumeMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveStreamVolumeMethod "setVolume" o = StreamVolumeSetVolumeMethodInfo+ ResolveStreamVolumeMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveStreamVolumeMethod t StreamVolume, MethodInfo info StreamVolume p) => IsLabelProxy t (StreamVolume -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveStreamVolumeMethod t StreamVolume, MethodInfo info StreamVolume p) => IsLabel t (StreamVolume -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++-- VVV Prop "mute"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getStreamVolumeMute :: (MonadIO m, StreamVolumeK o) => o -> m Bool+getStreamVolumeMute obj = liftIO $ getObjectPropertyBool obj "mute"++setStreamVolumeMute :: (MonadIO m, StreamVolumeK o) => o -> Bool -> m ()+setStreamVolumeMute obj val = liftIO $ setObjectPropertyBool obj "mute" val++constructStreamVolumeMute :: Bool -> IO ([Char], GValue)+constructStreamVolumeMute val = constructObjectPropertyBool "mute" val++data StreamVolumeMutePropertyInfo+instance AttrInfo StreamVolumeMutePropertyInfo where+ type AttrAllowedOps StreamVolumeMutePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint StreamVolumeMutePropertyInfo = (~) Bool+ type AttrBaseTypeConstraint StreamVolumeMutePropertyInfo = StreamVolumeK+ type AttrGetType StreamVolumeMutePropertyInfo = Bool+ type AttrLabel StreamVolumeMutePropertyInfo = "mute"+ attrGet _ = getStreamVolumeMute+ attrSet _ = setStreamVolumeMute+ attrConstruct _ = constructStreamVolumeMute++-- VVV Prop "volume"+ -- Type: TBasicType TDouble+ -- Flags: [PropertyReadable,PropertyWritable]++getStreamVolumeVolume :: (MonadIO m, StreamVolumeK o) => o -> m Double+getStreamVolumeVolume obj = liftIO $ getObjectPropertyDouble obj "volume"++setStreamVolumeVolume :: (MonadIO m, StreamVolumeK o) => o -> Double -> m ()+setStreamVolumeVolume obj val = liftIO $ setObjectPropertyDouble obj "volume" val++constructStreamVolumeVolume :: Double -> IO ([Char], GValue)+constructStreamVolumeVolume val = constructObjectPropertyDouble "volume" val++data StreamVolumeVolumePropertyInfo+instance AttrInfo StreamVolumeVolumePropertyInfo where+ type AttrAllowedOps StreamVolumeVolumePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint StreamVolumeVolumePropertyInfo = (~) Double+ type AttrBaseTypeConstraint StreamVolumeVolumePropertyInfo = StreamVolumeK+ type AttrGetType StreamVolumeVolumePropertyInfo = Double+ type AttrLabel StreamVolumeVolumePropertyInfo = "volume"+ attrGet _ = getStreamVolumeVolume+ attrSet _ = setStreamVolumeVolume+ attrConstruct _ = constructStreamVolumeVolume++type instance AttributeList StreamVolume = StreamVolumeAttributeList+type StreamVolumeAttributeList = ('[ '("mute", StreamVolumeMutePropertyInfo), '("volume", StreamVolumeVolumePropertyInfo)] :: [(Symbol, *)])++type instance SignalList StreamVolume = StreamVolumeSignalList+type StreamVolumeSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])++foreign import ccall "gst_stream_volume_get_type"+ c_gst_stream_volume_get_type :: IO GType++type instance ParentTypes StreamVolume = StreamVolumeParentTypes+type StreamVolumeParentTypes = '[GObject.Object]++instance GObject StreamVolume where+ gobjectIsInitiallyUnowned _ = False+ gobjectType _ = c_gst_stream_volume_get_type+ ++class GObject o => StreamVolumeK o+instance (GObject o, IsDescendantOf StreamVolume o) => StreamVolumeK o++toStreamVolume :: StreamVolumeK o => o -> IO StreamVolume+toStreamVolume = unsafeCastTo StreamVolume++-- method StreamVolume::get_mute+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "StreamVolume", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_stream_volume_get_mute" gst_stream_volume_get_mute :: + Ptr StreamVolume -> -- _obj : TInterface "GstAudio" "StreamVolume"+ IO CInt+++streamVolumeGetMute ::+ (MonadIO m, StreamVolumeK a) =>+ a -- _obj+ -> m Bool -- result+streamVolumeGetMute _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_stream_volume_get_mute _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data StreamVolumeGetMuteMethodInfo+instance (signature ~ (m Bool), MonadIO m, StreamVolumeK a) => MethodInfo StreamVolumeGetMuteMethodInfo a signature where+ overloadedMethod _ = streamVolumeGetMute++-- method StreamVolume::get_volume+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "StreamVolume", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "GstAudio" "StreamVolumeFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TDouble+-- throws : False+-- Skip return : False++foreign import ccall "gst_stream_volume_get_volume" gst_stream_volume_get_volume :: + Ptr StreamVolume -> -- _obj : TInterface "GstAudio" "StreamVolume"+ CUInt -> -- format : TInterface "GstAudio" "StreamVolumeFormat"+ IO CDouble+++streamVolumeGetVolume ::+ (MonadIO m, StreamVolumeK a) =>+ a -- _obj+ -> StreamVolumeFormat -- format+ -> m Double -- result+streamVolumeGetVolume _obj format = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let format' = (fromIntegral . fromEnum) format+ result <- gst_stream_volume_get_volume _obj' format'+ let result' = realToFrac result+ touchManagedPtr _obj+ return result'++data StreamVolumeGetVolumeMethodInfo+instance (signature ~ (StreamVolumeFormat -> m Double), MonadIO m, StreamVolumeK a) => MethodInfo StreamVolumeGetVolumeMethodInfo a signature where+ overloadedMethod _ = streamVolumeGetVolume++-- method StreamVolume::set_mute+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "StreamVolume", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mute", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_stream_volume_set_mute" gst_stream_volume_set_mute :: + Ptr StreamVolume -> -- _obj : TInterface "GstAudio" "StreamVolume"+ CInt -> -- mute : TBasicType TBoolean+ IO ()+++streamVolumeSetMute ::+ (MonadIO m, StreamVolumeK a) =>+ a -- _obj+ -> Bool -- mute+ -> m () -- result+streamVolumeSetMute _obj mute = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let mute' = (fromIntegral . fromEnum) mute+ gst_stream_volume_set_mute _obj' mute'+ touchManagedPtr _obj+ return ()++data StreamVolumeSetMuteMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, StreamVolumeK a) => MethodInfo StreamVolumeSetMuteMethodInfo a signature where+ overloadedMethod _ = streamVolumeSetMute++-- method StreamVolume::set_volume+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "StreamVolume", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "GstAudio" "StreamVolumeFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_stream_volume_set_volume" gst_stream_volume_set_volume :: + Ptr StreamVolume -> -- _obj : TInterface "GstAudio" "StreamVolume"+ CUInt -> -- format : TInterface "GstAudio" "StreamVolumeFormat"+ CDouble -> -- val : TBasicType TDouble+ IO ()+++streamVolumeSetVolume ::+ (MonadIO m, StreamVolumeK a) =>+ a -- _obj+ -> StreamVolumeFormat -- format+ -> Double -- val+ -> m () -- result+streamVolumeSetVolume _obj format val = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let format' = (fromIntegral . fromEnum) format+ let val' = realToFrac val+ gst_stream_volume_set_volume _obj' format' val'+ touchManagedPtr _obj+ return ()++data StreamVolumeSetVolumeMethodInfo+instance (signature ~ (StreamVolumeFormat -> Double -> m ()), MonadIO m, StreamVolumeK a) => MethodInfo StreamVolumeSetVolumeMethodInfo a signature where+ overloadedMethod _ = streamVolumeSetVolume++-- method StreamVolume::convert_volume+-- method type : MemberFunction+-- Args : [Arg {argCName = "from", argType = TInterface "GstAudio" "StreamVolumeFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to", argType = TInterface "GstAudio" "StreamVolumeFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TDouble+-- throws : False+-- Skip return : False++foreign import ccall "gst_stream_volume_convert_volume" gst_stream_volume_convert_volume :: + CUInt -> -- from : TInterface "GstAudio" "StreamVolumeFormat"+ CUInt -> -- to : TInterface "GstAudio" "StreamVolumeFormat"+ CDouble -> -- val : TBasicType TDouble+ IO CDouble+++streamVolumeConvertVolume ::+ (MonadIO m) =>+ StreamVolumeFormat -- from+ -> StreamVolumeFormat -- to+ -> Double -- val+ -> m Double -- result+streamVolumeConvertVolume from to val = liftIO $ do+ let from' = (fromIntegral . fromEnum) from+ let to' = (fromIntegral . fromEnum) to+ let val' = realToFrac val+ result <- gst_stream_volume_convert_volume from' to' val'+ let result' = realToFrac result+ return result'++
+ GI/GstAudio/Interfaces/StreamVolume.hs-boot view
@@ -0,0 +1,19 @@+module GI.GstAudio.Interfaces.StreamVolume where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype StreamVolume = StreamVolume (ForeignPtr StreamVolume)+data StreamVolumeMutePropertyInfo+data StreamVolumeVolumePropertyInfo+instance GObject StreamVolume where+class GObject o => StreamVolumeK o+instance (GObject o, IsDescendantOf StreamVolume o) => StreamVolumeK o+data StreamVolumeGetMuteMethodInfo+data StreamVolumeGetVolumeMethodInfo+data StreamVolumeSetMuteMethodInfo+data StreamVolumeSetVolumeMethodInfo
+ GI/GstAudio/Objects.hs view
@@ -0,0 +1,45 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects+ ( module GI.GstAudio.Objects.AudioBaseSink,+ module GI.GstAudio.Objects.AudioBaseSrc ,+ module GI.GstAudio.Objects.AudioCdSrc ,+ module GI.GstAudio.Objects.AudioClock ,+ module GI.GstAudio.Objects.AudioDecoder ,+ module GI.GstAudio.Objects.AudioEncoder ,+ module GI.GstAudio.Objects.AudioFilter ,+ module GI.GstAudio.Objects.AudioRingBuffer,+ module GI.GstAudio.Objects.AudioSink ,+ module GI.GstAudio.Objects.AudioSrc ,+++ ) where++import GI.GstAudio.Objects.AudioBaseSink+import GI.GstAudio.Objects.AudioBaseSrc+import GI.GstAudio.Objects.AudioCdSrc+import GI.GstAudio.Objects.AudioClock+import GI.GstAudio.Objects.AudioDecoder+import GI.GstAudio.Objects.AudioEncoder+import GI.GstAudio.Objects.AudioFilter+import GI.GstAudio.Objects.AudioRingBuffer+import GI.GstAudio.Objects.AudioSink+import GI.GstAudio.Objects.AudioSrc++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks++
+ GI/GstAudio/Objects/AudioBaseSink.hs view
@@ -0,0 +1,898 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioBaseSink+ ( ++-- * Exported types+ AudioBaseSink(..) ,+ AudioBaseSinkK ,+ toAudioBaseSink ,+ noAudioBaseSink ,+++ -- * Methods+-- ** audioBaseSinkCreateRingbuffer+ AudioBaseSinkCreateRingbufferMethodInfo ,+ audioBaseSinkCreateRingbuffer ,+++-- ** audioBaseSinkGetAlignmentThreshold+ AudioBaseSinkGetAlignmentThresholdMethodInfo,+ audioBaseSinkGetAlignmentThreshold ,+++-- ** audioBaseSinkGetDiscontWait+ AudioBaseSinkGetDiscontWaitMethodInfo ,+ audioBaseSinkGetDiscontWait ,+++-- ** audioBaseSinkGetDriftTolerance+ AudioBaseSinkGetDriftToleranceMethodInfo,+ audioBaseSinkGetDriftTolerance ,+++-- ** audioBaseSinkGetProvideClock+ AudioBaseSinkGetProvideClockMethodInfo ,+ audioBaseSinkGetProvideClock ,+++-- ** audioBaseSinkGetSlaveMethod+ AudioBaseSinkGetSlaveMethodMethodInfo ,+ audioBaseSinkGetSlaveMethod ,+++-- ** audioBaseSinkReportDeviceFailure+ AudioBaseSinkReportDeviceFailureMethodInfo,+ audioBaseSinkReportDeviceFailure ,+++-- ** audioBaseSinkSetAlignmentThreshold+ AudioBaseSinkSetAlignmentThresholdMethodInfo,+ audioBaseSinkSetAlignmentThreshold ,+++-- ** audioBaseSinkSetCustomSlavingCallback+ AudioBaseSinkSetCustomSlavingCallbackMethodInfo,+ audioBaseSinkSetCustomSlavingCallback ,+++-- ** audioBaseSinkSetDiscontWait+ AudioBaseSinkSetDiscontWaitMethodInfo ,+ audioBaseSinkSetDiscontWait ,+++-- ** audioBaseSinkSetDriftTolerance+ AudioBaseSinkSetDriftToleranceMethodInfo,+ audioBaseSinkSetDriftTolerance ,+++-- ** audioBaseSinkSetProvideClock+ AudioBaseSinkSetProvideClockMethodInfo ,+ audioBaseSinkSetProvideClock ,+++-- ** audioBaseSinkSetSlaveMethod+ AudioBaseSinkSetSlaveMethodMethodInfo ,+ audioBaseSinkSetSlaveMethod ,+++++ -- * Properties+-- ** AlignmentThreshold+ AudioBaseSinkAlignmentThresholdPropertyInfo,+ constructAudioBaseSinkAlignmentThreshold,+ getAudioBaseSinkAlignmentThreshold ,+ setAudioBaseSinkAlignmentThreshold ,+++-- ** BufferTime+ AudioBaseSinkBufferTimePropertyInfo ,+ constructAudioBaseSinkBufferTime ,+ getAudioBaseSinkBufferTime ,+ setAudioBaseSinkBufferTime ,+++-- ** CanActivatePull+ AudioBaseSinkCanActivatePullPropertyInfo,+ constructAudioBaseSinkCanActivatePull ,+ getAudioBaseSinkCanActivatePull ,+ setAudioBaseSinkCanActivatePull ,+++-- ** DiscontWait+ AudioBaseSinkDiscontWaitPropertyInfo ,+ constructAudioBaseSinkDiscontWait ,+ getAudioBaseSinkDiscontWait ,+ setAudioBaseSinkDiscontWait ,+++-- ** DriftTolerance+ AudioBaseSinkDriftTolerancePropertyInfo ,+ constructAudioBaseSinkDriftTolerance ,+ getAudioBaseSinkDriftTolerance ,+ setAudioBaseSinkDriftTolerance ,+++-- ** LatencyTime+ AudioBaseSinkLatencyTimePropertyInfo ,+ constructAudioBaseSinkLatencyTime ,+ getAudioBaseSinkLatencyTime ,+ setAudioBaseSinkLatencyTime ,+++-- ** ProvideClock+ AudioBaseSinkProvideClockPropertyInfo ,+ constructAudioBaseSinkProvideClock ,+ getAudioBaseSinkProvideClock ,+ setAudioBaseSinkProvideClock ,+++-- ** SlaveMethod+ AudioBaseSinkSlaveMethodPropertyInfo ,+ constructAudioBaseSinkSlaveMethod ,+ getAudioBaseSinkSlaveMethod ,+ setAudioBaseSinkSlaveMethod ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GLib as GLib+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst+import qualified GI.GstBase as GstBase++newtype AudioBaseSink = AudioBaseSink (ForeignPtr AudioBaseSink)+foreign import ccall "gst_audio_base_sink_get_type"+ c_gst_audio_base_sink_get_type :: IO GType++type instance ParentTypes AudioBaseSink = AudioBaseSinkParentTypes+type AudioBaseSinkParentTypes = '[GstBase.BaseSink, Gst.Element, Gst.Object, GObject.Object]++instance GObject AudioBaseSink where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_base_sink_get_type+ ++class GObject o => AudioBaseSinkK o+instance (GObject o, IsDescendantOf AudioBaseSink o) => AudioBaseSinkK o++toAudioBaseSink :: AudioBaseSinkK o => o -> IO AudioBaseSink+toAudioBaseSink = unsafeCastTo AudioBaseSink++noAudioBaseSink :: Maybe AudioBaseSink+noAudioBaseSink = Nothing++type family ResolveAudioBaseSinkMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioBaseSinkMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioBaseSinkMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioBaseSinkMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioBaseSinkMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioBaseSinkMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioBaseSinkMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioBaseSinkMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioBaseSinkMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioBaseSinkMethod "createRingbuffer" o = AudioBaseSinkCreateRingbufferMethodInfo+ ResolveAudioBaseSinkMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioBaseSinkMethod "doPreroll" o = GstBase.BaseSinkDoPrerollMethodInfo+ ResolveAudioBaseSinkMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioBaseSinkMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioBaseSinkMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioBaseSinkMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioBaseSinkMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioBaseSinkMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioBaseSinkMethod "isAsyncEnabled" o = GstBase.BaseSinkIsAsyncEnabledMethodInfo+ ResolveAudioBaseSinkMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioBaseSinkMethod "isLastSampleEnabled" o = GstBase.BaseSinkIsLastSampleEnabledMethodInfo+ ResolveAudioBaseSinkMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioBaseSinkMethod "isQosEnabled" o = GstBase.BaseSinkIsQosEnabledMethodInfo+ ResolveAudioBaseSinkMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioBaseSinkMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioBaseSinkMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioBaseSinkMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioBaseSinkMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioBaseSinkMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioBaseSinkMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioBaseSinkMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioBaseSinkMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioBaseSinkMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioBaseSinkMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioBaseSinkMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioBaseSinkMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioBaseSinkMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioBaseSinkMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioBaseSinkMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioBaseSinkMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioBaseSinkMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioBaseSinkMethod "queryLatency" o = GstBase.BaseSinkQueryLatencyMethodInfo+ ResolveAudioBaseSinkMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioBaseSinkMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioBaseSinkMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioBaseSinkMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioBaseSinkMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioBaseSinkMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioBaseSinkMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioBaseSinkMethod "reportDeviceFailure" o = AudioBaseSinkReportDeviceFailureMethodInfo+ ResolveAudioBaseSinkMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioBaseSinkMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioBaseSinkMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioBaseSinkMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioBaseSinkMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioBaseSinkMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioBaseSinkMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioBaseSinkMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioBaseSinkMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioBaseSinkMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioBaseSinkMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioBaseSinkMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioBaseSinkMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioBaseSinkMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioBaseSinkMethod "wait" o = GstBase.BaseSinkWaitMethodInfo+ ResolveAudioBaseSinkMethod "waitClock" o = GstBase.BaseSinkWaitClockMethodInfo+ ResolveAudioBaseSinkMethod "waitPreroll" o = GstBase.BaseSinkWaitPrerollMethodInfo+ ResolveAudioBaseSinkMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioBaseSinkMethod "getAlignmentThreshold" o = AudioBaseSinkGetAlignmentThresholdMethodInfo+ ResolveAudioBaseSinkMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioBaseSinkMethod "getBlocksize" o = GstBase.BaseSinkGetBlocksizeMethodInfo+ ResolveAudioBaseSinkMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioBaseSinkMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioBaseSinkMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioBaseSinkMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioBaseSinkMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioBaseSinkMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioBaseSinkMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioBaseSinkMethod "getDiscontWait" o = AudioBaseSinkGetDiscontWaitMethodInfo+ ResolveAudioBaseSinkMethod "getDriftTolerance" o = AudioBaseSinkGetDriftToleranceMethodInfo+ ResolveAudioBaseSinkMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioBaseSinkMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioBaseSinkMethod "getLastSample" o = GstBase.BaseSinkGetLastSampleMethodInfo+ ResolveAudioBaseSinkMethod "getLatency" o = GstBase.BaseSinkGetLatencyMethodInfo+ ResolveAudioBaseSinkMethod "getMaxBitrate" o = GstBase.BaseSinkGetMaxBitrateMethodInfo+ ResolveAudioBaseSinkMethod "getMaxLateness" o = GstBase.BaseSinkGetMaxLatenessMethodInfo+ ResolveAudioBaseSinkMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioBaseSinkMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioBaseSinkMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioBaseSinkMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioBaseSinkMethod "getProvideClock" o = AudioBaseSinkGetProvideClockMethodInfo+ ResolveAudioBaseSinkMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioBaseSinkMethod "getRenderDelay" o = GstBase.BaseSinkGetRenderDelayMethodInfo+ ResolveAudioBaseSinkMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioBaseSinkMethod "getSlaveMethod" o = AudioBaseSinkGetSlaveMethodMethodInfo+ ResolveAudioBaseSinkMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioBaseSinkMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioBaseSinkMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioBaseSinkMethod "getSync" o = GstBase.BaseSinkGetSyncMethodInfo+ ResolveAudioBaseSinkMethod "getThrottleTime" o = GstBase.BaseSinkGetThrottleTimeMethodInfo+ ResolveAudioBaseSinkMethod "getTsOffset" o = GstBase.BaseSinkGetTsOffsetMethodInfo+ ResolveAudioBaseSinkMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioBaseSinkMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioBaseSinkMethod "setAlignmentThreshold" o = AudioBaseSinkSetAlignmentThresholdMethodInfo+ ResolveAudioBaseSinkMethod "setAsyncEnabled" o = GstBase.BaseSinkSetAsyncEnabledMethodInfo+ ResolveAudioBaseSinkMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioBaseSinkMethod "setBlocksize" o = GstBase.BaseSinkSetBlocksizeMethodInfo+ ResolveAudioBaseSinkMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioBaseSinkMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioBaseSinkMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioBaseSinkMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioBaseSinkMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioBaseSinkMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioBaseSinkMethod "setCustomSlavingCallback" o = AudioBaseSinkSetCustomSlavingCallbackMethodInfo+ ResolveAudioBaseSinkMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioBaseSinkMethod "setDiscontWait" o = AudioBaseSinkSetDiscontWaitMethodInfo+ ResolveAudioBaseSinkMethod "setDriftTolerance" o = AudioBaseSinkSetDriftToleranceMethodInfo+ ResolveAudioBaseSinkMethod "setLastSampleEnabled" o = GstBase.BaseSinkSetLastSampleEnabledMethodInfo+ ResolveAudioBaseSinkMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioBaseSinkMethod "setMaxBitrate" o = GstBase.BaseSinkSetMaxBitrateMethodInfo+ ResolveAudioBaseSinkMethod "setMaxLateness" o = GstBase.BaseSinkSetMaxLatenessMethodInfo+ ResolveAudioBaseSinkMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioBaseSinkMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioBaseSinkMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioBaseSinkMethod "setProvideClock" o = AudioBaseSinkSetProvideClockMethodInfo+ ResolveAudioBaseSinkMethod "setQosEnabled" o = GstBase.BaseSinkSetQosEnabledMethodInfo+ ResolveAudioBaseSinkMethod "setRenderDelay" o = GstBase.BaseSinkSetRenderDelayMethodInfo+ ResolveAudioBaseSinkMethod "setSlaveMethod" o = AudioBaseSinkSetSlaveMethodMethodInfo+ ResolveAudioBaseSinkMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioBaseSinkMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioBaseSinkMethod "setSync" o = GstBase.BaseSinkSetSyncMethodInfo+ ResolveAudioBaseSinkMethod "setThrottleTime" o = GstBase.BaseSinkSetThrottleTimeMethodInfo+ ResolveAudioBaseSinkMethod "setTsOffset" o = GstBase.BaseSinkSetTsOffsetMethodInfo+ ResolveAudioBaseSinkMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioBaseSinkMethod t AudioBaseSink, MethodInfo info AudioBaseSink p) => IsLabelProxy t (AudioBaseSink -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioBaseSinkMethod t AudioBaseSink, MethodInfo info AudioBaseSink p) => IsLabel t (AudioBaseSink -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++-- VVV Prop "alignment-threshold"+ -- Type: TBasicType TUInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkAlignmentThreshold :: (MonadIO m, AudioBaseSinkK o) => o -> m Word64+getAudioBaseSinkAlignmentThreshold obj = liftIO $ getObjectPropertyUInt64 obj "alignment-threshold"++setAudioBaseSinkAlignmentThreshold :: (MonadIO m, AudioBaseSinkK o) => o -> Word64 -> m ()+setAudioBaseSinkAlignmentThreshold obj val = liftIO $ setObjectPropertyUInt64 obj "alignment-threshold" val++constructAudioBaseSinkAlignmentThreshold :: Word64 -> IO ([Char], GValue)+constructAudioBaseSinkAlignmentThreshold val = constructObjectPropertyUInt64 "alignment-threshold" val++data AudioBaseSinkAlignmentThresholdPropertyInfo+instance AttrInfo AudioBaseSinkAlignmentThresholdPropertyInfo where+ type AttrAllowedOps AudioBaseSinkAlignmentThresholdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkAlignmentThresholdPropertyInfo = (~) Word64+ type AttrBaseTypeConstraint AudioBaseSinkAlignmentThresholdPropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkAlignmentThresholdPropertyInfo = Word64+ type AttrLabel AudioBaseSinkAlignmentThresholdPropertyInfo = "alignment-threshold"+ attrGet _ = getAudioBaseSinkAlignmentThreshold+ attrSet _ = setAudioBaseSinkAlignmentThreshold+ attrConstruct _ = constructAudioBaseSinkAlignmentThreshold++-- VVV Prop "buffer-time"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkBufferTime :: (MonadIO m, AudioBaseSinkK o) => o -> m Int64+getAudioBaseSinkBufferTime obj = liftIO $ getObjectPropertyInt64 obj "buffer-time"++setAudioBaseSinkBufferTime :: (MonadIO m, AudioBaseSinkK o) => o -> Int64 -> m ()+setAudioBaseSinkBufferTime obj val = liftIO $ setObjectPropertyInt64 obj "buffer-time" val++constructAudioBaseSinkBufferTime :: Int64 -> IO ([Char], GValue)+constructAudioBaseSinkBufferTime val = constructObjectPropertyInt64 "buffer-time" val++data AudioBaseSinkBufferTimePropertyInfo+instance AttrInfo AudioBaseSinkBufferTimePropertyInfo where+ type AttrAllowedOps AudioBaseSinkBufferTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkBufferTimePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioBaseSinkBufferTimePropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkBufferTimePropertyInfo = Int64+ type AttrLabel AudioBaseSinkBufferTimePropertyInfo = "buffer-time"+ attrGet _ = getAudioBaseSinkBufferTime+ attrSet _ = setAudioBaseSinkBufferTime+ attrConstruct _ = constructAudioBaseSinkBufferTime++-- VVV Prop "can-activate-pull"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkCanActivatePull :: (MonadIO m, AudioBaseSinkK o) => o -> m Bool+getAudioBaseSinkCanActivatePull obj = liftIO $ getObjectPropertyBool obj "can-activate-pull"++setAudioBaseSinkCanActivatePull :: (MonadIO m, AudioBaseSinkK o) => o -> Bool -> m ()+setAudioBaseSinkCanActivatePull obj val = liftIO $ setObjectPropertyBool obj "can-activate-pull" val++constructAudioBaseSinkCanActivatePull :: Bool -> IO ([Char], GValue)+constructAudioBaseSinkCanActivatePull val = constructObjectPropertyBool "can-activate-pull" val++data AudioBaseSinkCanActivatePullPropertyInfo+instance AttrInfo AudioBaseSinkCanActivatePullPropertyInfo where+ type AttrAllowedOps AudioBaseSinkCanActivatePullPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkCanActivatePullPropertyInfo = (~) Bool+ type AttrBaseTypeConstraint AudioBaseSinkCanActivatePullPropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkCanActivatePullPropertyInfo = Bool+ type AttrLabel AudioBaseSinkCanActivatePullPropertyInfo = "can-activate-pull"+ attrGet _ = getAudioBaseSinkCanActivatePull+ attrSet _ = setAudioBaseSinkCanActivatePull+ attrConstruct _ = constructAudioBaseSinkCanActivatePull++-- VVV Prop "discont-wait"+ -- Type: TBasicType TUInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkDiscontWait :: (MonadIO m, AudioBaseSinkK o) => o -> m Word64+getAudioBaseSinkDiscontWait obj = liftIO $ getObjectPropertyUInt64 obj "discont-wait"++setAudioBaseSinkDiscontWait :: (MonadIO m, AudioBaseSinkK o) => o -> Word64 -> m ()+setAudioBaseSinkDiscontWait obj val = liftIO $ setObjectPropertyUInt64 obj "discont-wait" val++constructAudioBaseSinkDiscontWait :: Word64 -> IO ([Char], GValue)+constructAudioBaseSinkDiscontWait val = constructObjectPropertyUInt64 "discont-wait" val++data AudioBaseSinkDiscontWaitPropertyInfo+instance AttrInfo AudioBaseSinkDiscontWaitPropertyInfo where+ type AttrAllowedOps AudioBaseSinkDiscontWaitPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkDiscontWaitPropertyInfo = (~) Word64+ type AttrBaseTypeConstraint AudioBaseSinkDiscontWaitPropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkDiscontWaitPropertyInfo = Word64+ type AttrLabel AudioBaseSinkDiscontWaitPropertyInfo = "discont-wait"+ attrGet _ = getAudioBaseSinkDiscontWait+ attrSet _ = setAudioBaseSinkDiscontWait+ attrConstruct _ = constructAudioBaseSinkDiscontWait++-- VVV Prop "drift-tolerance"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkDriftTolerance :: (MonadIO m, AudioBaseSinkK o) => o -> m Int64+getAudioBaseSinkDriftTolerance obj = liftIO $ getObjectPropertyInt64 obj "drift-tolerance"++setAudioBaseSinkDriftTolerance :: (MonadIO m, AudioBaseSinkK o) => o -> Int64 -> m ()+setAudioBaseSinkDriftTolerance obj val = liftIO $ setObjectPropertyInt64 obj "drift-tolerance" val++constructAudioBaseSinkDriftTolerance :: Int64 -> IO ([Char], GValue)+constructAudioBaseSinkDriftTolerance val = constructObjectPropertyInt64 "drift-tolerance" val++data AudioBaseSinkDriftTolerancePropertyInfo+instance AttrInfo AudioBaseSinkDriftTolerancePropertyInfo where+ type AttrAllowedOps AudioBaseSinkDriftTolerancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkDriftTolerancePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioBaseSinkDriftTolerancePropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkDriftTolerancePropertyInfo = Int64+ type AttrLabel AudioBaseSinkDriftTolerancePropertyInfo = "drift-tolerance"+ attrGet _ = getAudioBaseSinkDriftTolerance+ attrSet _ = setAudioBaseSinkDriftTolerance+ attrConstruct _ = constructAudioBaseSinkDriftTolerance++-- VVV Prop "latency-time"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkLatencyTime :: (MonadIO m, AudioBaseSinkK o) => o -> m Int64+getAudioBaseSinkLatencyTime obj = liftIO $ getObjectPropertyInt64 obj "latency-time"++setAudioBaseSinkLatencyTime :: (MonadIO m, AudioBaseSinkK o) => o -> Int64 -> m ()+setAudioBaseSinkLatencyTime obj val = liftIO $ setObjectPropertyInt64 obj "latency-time" val++constructAudioBaseSinkLatencyTime :: Int64 -> IO ([Char], GValue)+constructAudioBaseSinkLatencyTime val = constructObjectPropertyInt64 "latency-time" val++data AudioBaseSinkLatencyTimePropertyInfo+instance AttrInfo AudioBaseSinkLatencyTimePropertyInfo where+ type AttrAllowedOps AudioBaseSinkLatencyTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkLatencyTimePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioBaseSinkLatencyTimePropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkLatencyTimePropertyInfo = Int64+ type AttrLabel AudioBaseSinkLatencyTimePropertyInfo = "latency-time"+ attrGet _ = getAudioBaseSinkLatencyTime+ attrSet _ = setAudioBaseSinkLatencyTime+ attrConstruct _ = constructAudioBaseSinkLatencyTime++-- VVV Prop "provide-clock"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkProvideClock :: (MonadIO m, AudioBaseSinkK o) => o -> m Bool+getAudioBaseSinkProvideClock obj = liftIO $ getObjectPropertyBool obj "provide-clock"++setAudioBaseSinkProvideClock :: (MonadIO m, AudioBaseSinkK o) => o -> Bool -> m ()+setAudioBaseSinkProvideClock obj val = liftIO $ setObjectPropertyBool obj "provide-clock" val++constructAudioBaseSinkProvideClock :: Bool -> IO ([Char], GValue)+constructAudioBaseSinkProvideClock val = constructObjectPropertyBool "provide-clock" val++data AudioBaseSinkProvideClockPropertyInfo+instance AttrInfo AudioBaseSinkProvideClockPropertyInfo where+ type AttrAllowedOps AudioBaseSinkProvideClockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkProvideClockPropertyInfo = (~) Bool+ type AttrBaseTypeConstraint AudioBaseSinkProvideClockPropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkProvideClockPropertyInfo = Bool+ type AttrLabel AudioBaseSinkProvideClockPropertyInfo = "provide-clock"+ attrGet _ = getAudioBaseSinkProvideClock+ attrSet _ = setAudioBaseSinkProvideClock+ attrConstruct _ = constructAudioBaseSinkProvideClock++-- VVV Prop "slave-method"+ -- Type: TInterface "GstAudio" "AudioBaseSinkSlaveMethod"+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSinkSlaveMethod :: (MonadIO m, AudioBaseSinkK o) => o -> m AudioBaseSinkSlaveMethod+getAudioBaseSinkSlaveMethod obj = liftIO $ getObjectPropertyEnum obj "slave-method"++setAudioBaseSinkSlaveMethod :: (MonadIO m, AudioBaseSinkK o) => o -> AudioBaseSinkSlaveMethod -> m ()+setAudioBaseSinkSlaveMethod obj val = liftIO $ setObjectPropertyEnum obj "slave-method" val++constructAudioBaseSinkSlaveMethod :: AudioBaseSinkSlaveMethod -> IO ([Char], GValue)+constructAudioBaseSinkSlaveMethod val = constructObjectPropertyEnum "slave-method" val++data AudioBaseSinkSlaveMethodPropertyInfo+instance AttrInfo AudioBaseSinkSlaveMethodPropertyInfo where+ type AttrAllowedOps AudioBaseSinkSlaveMethodPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSinkSlaveMethodPropertyInfo = (~) AudioBaseSinkSlaveMethod+ type AttrBaseTypeConstraint AudioBaseSinkSlaveMethodPropertyInfo = AudioBaseSinkK+ type AttrGetType AudioBaseSinkSlaveMethodPropertyInfo = AudioBaseSinkSlaveMethod+ type AttrLabel AudioBaseSinkSlaveMethodPropertyInfo = "slave-method"+ attrGet _ = getAudioBaseSinkSlaveMethod+ attrSet _ = setAudioBaseSinkSlaveMethod+ attrConstruct _ = constructAudioBaseSinkSlaveMethod++type instance AttributeList AudioBaseSink = AudioBaseSinkAttributeList+type AudioBaseSinkAttributeList = ('[ '("alignmentThreshold", AudioBaseSinkAlignmentThresholdPropertyInfo), '("async", GstBase.BaseSinkAsyncPropertyInfo), '("blocksize", GstBase.BaseSinkBlocksizePropertyInfo), '("bufferTime", AudioBaseSinkBufferTimePropertyInfo), '("canActivatePull", AudioBaseSinkCanActivatePullPropertyInfo), '("discontWait", AudioBaseSinkDiscontWaitPropertyInfo), '("driftTolerance", AudioBaseSinkDriftTolerancePropertyInfo), '("enableLastSample", GstBase.BaseSinkEnableLastSamplePropertyInfo), '("lastSample", GstBase.BaseSinkLastSamplePropertyInfo), '("latencyTime", AudioBaseSinkLatencyTimePropertyInfo), '("maxBitrate", GstBase.BaseSinkMaxBitratePropertyInfo), '("maxLateness", GstBase.BaseSinkMaxLatenessPropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("provideClock", AudioBaseSinkProvideClockPropertyInfo), '("qos", GstBase.BaseSinkQosPropertyInfo), '("renderDelay", GstBase.BaseSinkRenderDelayPropertyInfo), '("slaveMethod", AudioBaseSinkSlaveMethodPropertyInfo), '("sync", GstBase.BaseSinkSyncPropertyInfo), '("throttleTime", GstBase.BaseSinkThrottleTimePropertyInfo), '("tsOffset", GstBase.BaseSinkTsOffsetPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioBaseSink = AudioBaseSinkSignalList+type AudioBaseSinkSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++-- method AudioBaseSink::create_ringbuffer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioRingBuffer"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_create_ringbuffer" gst_audio_base_sink_create_ringbuffer :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO (Ptr AudioRingBuffer)+++audioBaseSinkCreateRingbuffer ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m AudioRingBuffer -- result+audioBaseSinkCreateRingbuffer _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_sink_create_ringbuffer _obj'+ checkUnexpectedReturnNULL "gst_audio_base_sink_create_ringbuffer" result+ result' <- (newObject AudioRingBuffer) result+ touchManagedPtr _obj+ return result'++data AudioBaseSinkCreateRingbufferMethodInfo+instance (signature ~ (m AudioRingBuffer), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkCreateRingbufferMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkCreateRingbuffer++-- method AudioBaseSink::get_alignment_threshold+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_get_alignment_threshold" gst_audio_base_sink_get_alignment_threshold :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO Word64+++audioBaseSinkGetAlignmentThreshold ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m Word64 -- result+audioBaseSinkGetAlignmentThreshold _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_sink_get_alignment_threshold _obj'+ touchManagedPtr _obj+ return result++data AudioBaseSinkGetAlignmentThresholdMethodInfo+instance (signature ~ (m Word64), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkGetAlignmentThresholdMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkGetAlignmentThreshold++-- method AudioBaseSink::get_discont_wait+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_get_discont_wait" gst_audio_base_sink_get_discont_wait :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO Word64+++audioBaseSinkGetDiscontWait ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m Word64 -- result+audioBaseSinkGetDiscontWait _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_sink_get_discont_wait _obj'+ touchManagedPtr _obj+ return result++data AudioBaseSinkGetDiscontWaitMethodInfo+instance (signature ~ (m Word64), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkGetDiscontWaitMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkGetDiscontWait++-- method AudioBaseSink::get_drift_tolerance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_get_drift_tolerance" gst_audio_base_sink_get_drift_tolerance :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO Int64+++audioBaseSinkGetDriftTolerance ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m Int64 -- result+audioBaseSinkGetDriftTolerance _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_sink_get_drift_tolerance _obj'+ touchManagedPtr _obj+ return result++data AudioBaseSinkGetDriftToleranceMethodInfo+instance (signature ~ (m Int64), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkGetDriftToleranceMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkGetDriftTolerance++-- method AudioBaseSink::get_provide_clock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_get_provide_clock" gst_audio_base_sink_get_provide_clock :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO CInt+++audioBaseSinkGetProvideClock ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m Bool -- result+audioBaseSinkGetProvideClock _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_sink_get_provide_clock _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioBaseSinkGetProvideClockMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkGetProvideClockMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkGetProvideClock++-- method AudioBaseSink::get_slave_method+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioBaseSinkSlaveMethod"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_get_slave_method" gst_audio_base_sink_get_slave_method :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO CUInt+++audioBaseSinkGetSlaveMethod ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m AudioBaseSinkSlaveMethod -- result+audioBaseSinkGetSlaveMethod _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_sink_get_slave_method _obj'+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr _obj+ return result'++data AudioBaseSinkGetSlaveMethodMethodInfo+instance (signature ~ (m AudioBaseSinkSlaveMethod), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkGetSlaveMethodMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkGetSlaveMethod++-- method AudioBaseSink::report_device_failure+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_report_device_failure" gst_audio_base_sink_report_device_failure :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ IO ()+++audioBaseSinkReportDeviceFailure ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> m () -- result+audioBaseSinkReportDeviceFailure _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_base_sink_report_device_failure _obj'+ touchManagedPtr _obj+ return ()++data AudioBaseSinkReportDeviceFailureMethodInfo+instance (signature ~ (m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkReportDeviceFailureMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkReportDeviceFailure++-- method AudioBaseSink::set_alignment_threshold+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alignment_threshold", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_set_alignment_threshold" gst_audio_base_sink_set_alignment_threshold :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ Word64 -> -- alignment_threshold : TBasicType TUInt64+ IO ()+++audioBaseSinkSetAlignmentThreshold ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> Word64 -- alignmentThreshold+ -> m () -- result+audioBaseSinkSetAlignmentThreshold _obj alignmentThreshold = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_base_sink_set_alignment_threshold _obj' alignmentThreshold+ touchManagedPtr _obj+ return ()++data AudioBaseSinkSetAlignmentThresholdMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkSetAlignmentThresholdMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkSetAlignmentThreshold++-- method AudioBaseSink::set_custom_slaving_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "GstAudio" "AudioBaseSinkCustomSlavingCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_set_custom_slaving_callback" gst_audio_base_sink_set_custom_slaving_callback :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ FunPtr AudioBaseSinkCustomSlavingCallbackC -> -- callback : TInterface "GstAudio" "AudioBaseSinkCustomSlavingCallback"+ Ptr () -> -- user_data : TBasicType TVoid+ FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"+ IO ()+++audioBaseSinkSetCustomSlavingCallback ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> AudioBaseSinkCustomSlavingCallback -- callback+ -> m () -- result+audioBaseSinkSetCustomSlavingCallback _obj callback = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ callback' <- mkAudioBaseSinkCustomSlavingCallback (audioBaseSinkCustomSlavingCallbackWrapper Nothing callback)+ let userData = castFunPtrToPtr callback'+ let notify = safeFreeFunPtrPtr+ gst_audio_base_sink_set_custom_slaving_callback _obj' callback' userData notify+ touchManagedPtr _obj+ return ()++data AudioBaseSinkSetCustomSlavingCallbackMethodInfo+instance (signature ~ (AudioBaseSinkCustomSlavingCallback -> m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkSetCustomSlavingCallbackMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkSetCustomSlavingCallback++-- method AudioBaseSink::set_discont_wait+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "discont_wait", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_set_discont_wait" gst_audio_base_sink_set_discont_wait :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ Word64 -> -- discont_wait : TBasicType TUInt64+ IO ()+++audioBaseSinkSetDiscontWait ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> Word64 -- discontWait+ -> m () -- result+audioBaseSinkSetDiscontWait _obj discontWait = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_base_sink_set_discont_wait _obj' discontWait+ touchManagedPtr _obj+ return ()++data AudioBaseSinkSetDiscontWaitMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkSetDiscontWaitMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkSetDiscontWait++-- method AudioBaseSink::set_drift_tolerance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drift_tolerance", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_set_drift_tolerance" gst_audio_base_sink_set_drift_tolerance :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ Int64 -> -- drift_tolerance : TBasicType TInt64+ IO ()+++audioBaseSinkSetDriftTolerance ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> Int64 -- driftTolerance+ -> m () -- result+audioBaseSinkSetDriftTolerance _obj driftTolerance = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_base_sink_set_drift_tolerance _obj' driftTolerance+ touchManagedPtr _obj+ return ()++data AudioBaseSinkSetDriftToleranceMethodInfo+instance (signature ~ (Int64 -> m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkSetDriftToleranceMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkSetDriftTolerance++-- method AudioBaseSink::set_provide_clock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_set_provide_clock" gst_audio_base_sink_set_provide_clock :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ CInt -> -- provide : TBasicType TBoolean+ IO ()+++audioBaseSinkSetProvideClock ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> Bool -- provide+ -> m () -- result+audioBaseSinkSetProvideClock _obj provide = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let provide' = (fromIntegral . fromEnum) provide+ gst_audio_base_sink_set_provide_clock _obj' provide'+ touchManagedPtr _obj+ return ()++data AudioBaseSinkSetProvideClockMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkSetProvideClockMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkSetProvideClock++-- method AudioBaseSink::set_slave_method+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "method", argType = TInterface "GstAudio" "AudioBaseSinkSlaveMethod", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_sink_set_slave_method" gst_audio_base_sink_set_slave_method :: + Ptr AudioBaseSink -> -- _obj : TInterface "GstAudio" "AudioBaseSink"+ CUInt -> -- method : TInterface "GstAudio" "AudioBaseSinkSlaveMethod"+ IO ()+++audioBaseSinkSetSlaveMethod ::+ (MonadIO m, AudioBaseSinkK a) =>+ a -- _obj+ -> AudioBaseSinkSlaveMethod -- method+ -> m () -- result+audioBaseSinkSetSlaveMethod _obj method = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let method' = (fromIntegral . fromEnum) method+ gst_audio_base_sink_set_slave_method _obj' method'+ touchManagedPtr _obj+ return ()++data AudioBaseSinkSetSlaveMethodMethodInfo+instance (signature ~ (AudioBaseSinkSlaveMethod -> m ()), MonadIO m, AudioBaseSinkK a) => MethodInfo AudioBaseSinkSetSlaveMethodMethodInfo a signature where+ overloadedMethod _ = audioBaseSinkSetSlaveMethod++
+ GI/GstAudio/Objects/AudioBaseSink.hs-boot view
@@ -0,0 +1,34 @@+module GI.GstAudio.Objects.AudioBaseSink where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioBaseSink = AudioBaseSink (ForeignPtr AudioBaseSink)+instance GObject AudioBaseSink where+class GObject o => AudioBaseSinkK o+instance (GObject o, IsDescendantOf AudioBaseSink o) => AudioBaseSinkK o+data AudioBaseSinkAlignmentThresholdPropertyInfo+data AudioBaseSinkBufferTimePropertyInfo+data AudioBaseSinkCanActivatePullPropertyInfo+data AudioBaseSinkDiscontWaitPropertyInfo+data AudioBaseSinkDriftTolerancePropertyInfo+data AudioBaseSinkLatencyTimePropertyInfo+data AudioBaseSinkProvideClockPropertyInfo+data AudioBaseSinkSlaveMethodPropertyInfo+data AudioBaseSinkCreateRingbufferMethodInfo+data AudioBaseSinkGetAlignmentThresholdMethodInfo+data AudioBaseSinkGetDiscontWaitMethodInfo+data AudioBaseSinkGetDriftToleranceMethodInfo+data AudioBaseSinkGetProvideClockMethodInfo+data AudioBaseSinkGetSlaveMethodMethodInfo+data AudioBaseSinkReportDeviceFailureMethodInfo+data AudioBaseSinkSetAlignmentThresholdMethodInfo+data AudioBaseSinkSetCustomSlavingCallbackMethodInfo+data AudioBaseSinkSetDiscontWaitMethodInfo+data AudioBaseSinkSetDriftToleranceMethodInfo+data AudioBaseSinkSetProvideClockMethodInfo+data AudioBaseSinkSetSlaveMethodMethodInfo
+ GI/GstAudio/Objects/AudioBaseSrc.hs view
@@ -0,0 +1,534 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioBaseSrc+ ( ++-- * Exported types+ AudioBaseSrc(..) ,+ AudioBaseSrcK ,+ toAudioBaseSrc ,+ noAudioBaseSrc ,+++ -- * Methods+-- ** audioBaseSrcCreateRingbuffer+ AudioBaseSrcCreateRingbufferMethodInfo ,+ audioBaseSrcCreateRingbuffer ,+++-- ** audioBaseSrcGetProvideClock+ AudioBaseSrcGetProvideClockMethodInfo ,+ audioBaseSrcGetProvideClock ,+++-- ** audioBaseSrcGetSlaveMethod+ AudioBaseSrcGetSlaveMethodMethodInfo ,+ audioBaseSrcGetSlaveMethod ,+++-- ** audioBaseSrcSetProvideClock+ AudioBaseSrcSetProvideClockMethodInfo ,+ audioBaseSrcSetProvideClock ,+++-- ** audioBaseSrcSetSlaveMethod+ AudioBaseSrcSetSlaveMethodMethodInfo ,+ audioBaseSrcSetSlaveMethod ,+++++ -- * Properties+-- ** ActualBufferTime+ AudioBaseSrcActualBufferTimePropertyInfo,+ getAudioBaseSrcActualBufferTime ,+++-- ** ActualLatencyTime+ AudioBaseSrcActualLatencyTimePropertyInfo,+ getAudioBaseSrcActualLatencyTime ,+++-- ** BufferTime+ AudioBaseSrcBufferTimePropertyInfo ,+ constructAudioBaseSrcBufferTime ,+ getAudioBaseSrcBufferTime ,+ setAudioBaseSrcBufferTime ,+++-- ** LatencyTime+ AudioBaseSrcLatencyTimePropertyInfo ,+ constructAudioBaseSrcLatencyTime ,+ getAudioBaseSrcLatencyTime ,+ setAudioBaseSrcLatencyTime ,+++-- ** ProvideClock+ AudioBaseSrcProvideClockPropertyInfo ,+ constructAudioBaseSrcProvideClock ,+ getAudioBaseSrcProvideClock ,+ setAudioBaseSrcProvideClock ,+++-- ** SlaveMethod+ AudioBaseSrcSlaveMethodPropertyInfo ,+ constructAudioBaseSrcSlaveMethod ,+ getAudioBaseSrcSlaveMethod ,+ setAudioBaseSrcSlaveMethod ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst+import qualified GI.GstBase as GstBase++newtype AudioBaseSrc = AudioBaseSrc (ForeignPtr AudioBaseSrc)+foreign import ccall "gst_audio_base_src_get_type"+ c_gst_audio_base_src_get_type :: IO GType++type instance ParentTypes AudioBaseSrc = AudioBaseSrcParentTypes+type AudioBaseSrcParentTypes = '[GstBase.PushSrc, GstBase.BaseSrc, Gst.Element, Gst.Object, GObject.Object]++instance GObject AudioBaseSrc where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_base_src_get_type+ ++class GObject o => AudioBaseSrcK o+instance (GObject o, IsDescendantOf AudioBaseSrc o) => AudioBaseSrcK o++toAudioBaseSrc :: AudioBaseSrcK o => o -> IO AudioBaseSrc+toAudioBaseSrc = unsafeCastTo AudioBaseSrc++noAudioBaseSrc :: Maybe AudioBaseSrc+noAudioBaseSrc = Nothing++type family ResolveAudioBaseSrcMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioBaseSrcMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioBaseSrcMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioBaseSrcMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioBaseSrcMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioBaseSrcMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioBaseSrcMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioBaseSrcMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioBaseSrcMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioBaseSrcMethod "createRingbuffer" o = AudioBaseSrcCreateRingbufferMethodInfo+ ResolveAudioBaseSrcMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioBaseSrcMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioBaseSrcMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioBaseSrcMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioBaseSrcMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioBaseSrcMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioBaseSrcMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioBaseSrcMethod "isAsync" o = GstBase.BaseSrcIsAsyncMethodInfo+ ResolveAudioBaseSrcMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioBaseSrcMethod "isLive" o = GstBase.BaseSrcIsLiveMethodInfo+ ResolveAudioBaseSrcMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioBaseSrcMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioBaseSrcMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioBaseSrcMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioBaseSrcMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioBaseSrcMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioBaseSrcMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioBaseSrcMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioBaseSrcMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioBaseSrcMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioBaseSrcMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioBaseSrcMethod "newSeamlessSegment" o = GstBase.BaseSrcNewSeamlessSegmentMethodInfo+ ResolveAudioBaseSrcMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioBaseSrcMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioBaseSrcMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioBaseSrcMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioBaseSrcMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioBaseSrcMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioBaseSrcMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioBaseSrcMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioBaseSrcMethod "queryLatency" o = GstBase.BaseSrcQueryLatencyMethodInfo+ ResolveAudioBaseSrcMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioBaseSrcMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioBaseSrcMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioBaseSrcMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioBaseSrcMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioBaseSrcMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioBaseSrcMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioBaseSrcMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioBaseSrcMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioBaseSrcMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioBaseSrcMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioBaseSrcMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioBaseSrcMethod "startComplete" o = GstBase.BaseSrcStartCompleteMethodInfo+ ResolveAudioBaseSrcMethod "startWait" o = GstBase.BaseSrcStartWaitMethodInfo+ ResolveAudioBaseSrcMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioBaseSrcMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioBaseSrcMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioBaseSrcMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioBaseSrcMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioBaseSrcMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioBaseSrcMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioBaseSrcMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioBaseSrcMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioBaseSrcMethod "waitPlaying" o = GstBase.BaseSrcWaitPlayingMethodInfo+ ResolveAudioBaseSrcMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioBaseSrcMethod "getAllocator" o = GstBase.BaseSrcGetAllocatorMethodInfo+ ResolveAudioBaseSrcMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioBaseSrcMethod "getBlocksize" o = GstBase.BaseSrcGetBlocksizeMethodInfo+ ResolveAudioBaseSrcMethod "getBufferPool" o = GstBase.BaseSrcGetBufferPoolMethodInfo+ ResolveAudioBaseSrcMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioBaseSrcMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioBaseSrcMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioBaseSrcMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioBaseSrcMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioBaseSrcMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioBaseSrcMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioBaseSrcMethod "getDoTimestamp" o = GstBase.BaseSrcGetDoTimestampMethodInfo+ ResolveAudioBaseSrcMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioBaseSrcMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioBaseSrcMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioBaseSrcMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioBaseSrcMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioBaseSrcMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioBaseSrcMethod "getProvideClock" o = AudioBaseSrcGetProvideClockMethodInfo+ ResolveAudioBaseSrcMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioBaseSrcMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioBaseSrcMethod "getSlaveMethod" o = AudioBaseSrcGetSlaveMethodMethodInfo+ ResolveAudioBaseSrcMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioBaseSrcMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioBaseSrcMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioBaseSrcMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioBaseSrcMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioBaseSrcMethod "setAsync" o = GstBase.BaseSrcSetAsyncMethodInfo+ ResolveAudioBaseSrcMethod "setAutomaticEos" o = GstBase.BaseSrcSetAutomaticEosMethodInfo+ ResolveAudioBaseSrcMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioBaseSrcMethod "setBlocksize" o = GstBase.BaseSrcSetBlocksizeMethodInfo+ ResolveAudioBaseSrcMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioBaseSrcMethod "setCaps" o = GstBase.BaseSrcSetCapsMethodInfo+ ResolveAudioBaseSrcMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioBaseSrcMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioBaseSrcMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioBaseSrcMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioBaseSrcMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioBaseSrcMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioBaseSrcMethod "setDoTimestamp" o = GstBase.BaseSrcSetDoTimestampMethodInfo+ ResolveAudioBaseSrcMethod "setDynamicSize" o = GstBase.BaseSrcSetDynamicSizeMethodInfo+ ResolveAudioBaseSrcMethod "setFormat" o = GstBase.BaseSrcSetFormatMethodInfo+ ResolveAudioBaseSrcMethod "setLive" o = GstBase.BaseSrcSetLiveMethodInfo+ ResolveAudioBaseSrcMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioBaseSrcMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioBaseSrcMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioBaseSrcMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioBaseSrcMethod "setProvideClock" o = AudioBaseSrcSetProvideClockMethodInfo+ ResolveAudioBaseSrcMethod "setSlaveMethod" o = AudioBaseSrcSetSlaveMethodMethodInfo+ ResolveAudioBaseSrcMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioBaseSrcMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioBaseSrcMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioBaseSrcMethod t AudioBaseSrc, MethodInfo info AudioBaseSrc p) => IsLabelProxy t (AudioBaseSrc -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioBaseSrcMethod t AudioBaseSrc, MethodInfo info AudioBaseSrc p) => IsLabel t (AudioBaseSrc -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++-- VVV Prop "actual-buffer-time"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable]++getAudioBaseSrcActualBufferTime :: (MonadIO m, AudioBaseSrcK o) => o -> m Int64+getAudioBaseSrcActualBufferTime obj = liftIO $ getObjectPropertyInt64 obj "actual-buffer-time"++data AudioBaseSrcActualBufferTimePropertyInfo+instance AttrInfo AudioBaseSrcActualBufferTimePropertyInfo where+ type AttrAllowedOps AudioBaseSrcActualBufferTimePropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSrcActualBufferTimePropertyInfo = (~) ()+ type AttrBaseTypeConstraint AudioBaseSrcActualBufferTimePropertyInfo = AudioBaseSrcK+ type AttrGetType AudioBaseSrcActualBufferTimePropertyInfo = Int64+ type AttrLabel AudioBaseSrcActualBufferTimePropertyInfo = "actual-buffer-time"+ attrGet _ = getAudioBaseSrcActualBufferTime+ attrSet _ = undefined+ attrConstruct _ = undefined++-- VVV Prop "actual-latency-time"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable]++getAudioBaseSrcActualLatencyTime :: (MonadIO m, AudioBaseSrcK o) => o -> m Int64+getAudioBaseSrcActualLatencyTime obj = liftIO $ getObjectPropertyInt64 obj "actual-latency-time"++data AudioBaseSrcActualLatencyTimePropertyInfo+instance AttrInfo AudioBaseSrcActualLatencyTimePropertyInfo where+ type AttrAllowedOps AudioBaseSrcActualLatencyTimePropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSrcActualLatencyTimePropertyInfo = (~) ()+ type AttrBaseTypeConstraint AudioBaseSrcActualLatencyTimePropertyInfo = AudioBaseSrcK+ type AttrGetType AudioBaseSrcActualLatencyTimePropertyInfo = Int64+ type AttrLabel AudioBaseSrcActualLatencyTimePropertyInfo = "actual-latency-time"+ attrGet _ = getAudioBaseSrcActualLatencyTime+ attrSet _ = undefined+ attrConstruct _ = undefined++-- VVV Prop "buffer-time"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSrcBufferTime :: (MonadIO m, AudioBaseSrcK o) => o -> m Int64+getAudioBaseSrcBufferTime obj = liftIO $ getObjectPropertyInt64 obj "buffer-time"++setAudioBaseSrcBufferTime :: (MonadIO m, AudioBaseSrcK o) => o -> Int64 -> m ()+setAudioBaseSrcBufferTime obj val = liftIO $ setObjectPropertyInt64 obj "buffer-time" val++constructAudioBaseSrcBufferTime :: Int64 -> IO ([Char], GValue)+constructAudioBaseSrcBufferTime val = constructObjectPropertyInt64 "buffer-time" val++data AudioBaseSrcBufferTimePropertyInfo+instance AttrInfo AudioBaseSrcBufferTimePropertyInfo where+ type AttrAllowedOps AudioBaseSrcBufferTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSrcBufferTimePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioBaseSrcBufferTimePropertyInfo = AudioBaseSrcK+ type AttrGetType AudioBaseSrcBufferTimePropertyInfo = Int64+ type AttrLabel AudioBaseSrcBufferTimePropertyInfo = "buffer-time"+ attrGet _ = getAudioBaseSrcBufferTime+ attrSet _ = setAudioBaseSrcBufferTime+ attrConstruct _ = constructAudioBaseSrcBufferTime++-- VVV Prop "latency-time"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSrcLatencyTime :: (MonadIO m, AudioBaseSrcK o) => o -> m Int64+getAudioBaseSrcLatencyTime obj = liftIO $ getObjectPropertyInt64 obj "latency-time"++setAudioBaseSrcLatencyTime :: (MonadIO m, AudioBaseSrcK o) => o -> Int64 -> m ()+setAudioBaseSrcLatencyTime obj val = liftIO $ setObjectPropertyInt64 obj "latency-time" val++constructAudioBaseSrcLatencyTime :: Int64 -> IO ([Char], GValue)+constructAudioBaseSrcLatencyTime val = constructObjectPropertyInt64 "latency-time" val++data AudioBaseSrcLatencyTimePropertyInfo+instance AttrInfo AudioBaseSrcLatencyTimePropertyInfo where+ type AttrAllowedOps AudioBaseSrcLatencyTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSrcLatencyTimePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioBaseSrcLatencyTimePropertyInfo = AudioBaseSrcK+ type AttrGetType AudioBaseSrcLatencyTimePropertyInfo = Int64+ type AttrLabel AudioBaseSrcLatencyTimePropertyInfo = "latency-time"+ attrGet _ = getAudioBaseSrcLatencyTime+ attrSet _ = setAudioBaseSrcLatencyTime+ attrConstruct _ = constructAudioBaseSrcLatencyTime++-- VVV Prop "provide-clock"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSrcProvideClock :: (MonadIO m, AudioBaseSrcK o) => o -> m Bool+getAudioBaseSrcProvideClock obj = liftIO $ getObjectPropertyBool obj "provide-clock"++setAudioBaseSrcProvideClock :: (MonadIO m, AudioBaseSrcK o) => o -> Bool -> m ()+setAudioBaseSrcProvideClock obj val = liftIO $ setObjectPropertyBool obj "provide-clock" val++constructAudioBaseSrcProvideClock :: Bool -> IO ([Char], GValue)+constructAudioBaseSrcProvideClock val = constructObjectPropertyBool "provide-clock" val++data AudioBaseSrcProvideClockPropertyInfo+instance AttrInfo AudioBaseSrcProvideClockPropertyInfo where+ type AttrAllowedOps AudioBaseSrcProvideClockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSrcProvideClockPropertyInfo = (~) Bool+ type AttrBaseTypeConstraint AudioBaseSrcProvideClockPropertyInfo = AudioBaseSrcK+ type AttrGetType AudioBaseSrcProvideClockPropertyInfo = Bool+ type AttrLabel AudioBaseSrcProvideClockPropertyInfo = "provide-clock"+ attrGet _ = getAudioBaseSrcProvideClock+ attrSet _ = setAudioBaseSrcProvideClock+ attrConstruct _ = constructAudioBaseSrcProvideClock++-- VVV Prop "slave-method"+ -- Type: TInterface "GstAudio" "AudioBaseSrcSlaveMethod"+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioBaseSrcSlaveMethod :: (MonadIO m, AudioBaseSrcK o) => o -> m AudioBaseSrcSlaveMethod+getAudioBaseSrcSlaveMethod obj = liftIO $ getObjectPropertyEnum obj "slave-method"++setAudioBaseSrcSlaveMethod :: (MonadIO m, AudioBaseSrcK o) => o -> AudioBaseSrcSlaveMethod -> m ()+setAudioBaseSrcSlaveMethod obj val = liftIO $ setObjectPropertyEnum obj "slave-method" val++constructAudioBaseSrcSlaveMethod :: AudioBaseSrcSlaveMethod -> IO ([Char], GValue)+constructAudioBaseSrcSlaveMethod val = constructObjectPropertyEnum "slave-method" val++data AudioBaseSrcSlaveMethodPropertyInfo+instance AttrInfo AudioBaseSrcSlaveMethodPropertyInfo where+ type AttrAllowedOps AudioBaseSrcSlaveMethodPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioBaseSrcSlaveMethodPropertyInfo = (~) AudioBaseSrcSlaveMethod+ type AttrBaseTypeConstraint AudioBaseSrcSlaveMethodPropertyInfo = AudioBaseSrcK+ type AttrGetType AudioBaseSrcSlaveMethodPropertyInfo = AudioBaseSrcSlaveMethod+ type AttrLabel AudioBaseSrcSlaveMethodPropertyInfo = "slave-method"+ attrGet _ = getAudioBaseSrcSlaveMethod+ attrSet _ = setAudioBaseSrcSlaveMethod+ attrConstruct _ = constructAudioBaseSrcSlaveMethod++type instance AttributeList AudioBaseSrc = AudioBaseSrcAttributeList+type AudioBaseSrcAttributeList = ('[ '("actualBufferTime", AudioBaseSrcActualBufferTimePropertyInfo), '("actualLatencyTime", AudioBaseSrcActualLatencyTimePropertyInfo), '("blocksize", GstBase.BaseSrcBlocksizePropertyInfo), '("bufferTime", AudioBaseSrcBufferTimePropertyInfo), '("doTimestamp", GstBase.BaseSrcDoTimestampPropertyInfo), '("latencyTime", AudioBaseSrcLatencyTimePropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("numBuffers", GstBase.BaseSrcNumBuffersPropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("provideClock", AudioBaseSrcProvideClockPropertyInfo), '("slaveMethod", AudioBaseSrcSlaveMethodPropertyInfo), '("typefind", GstBase.BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioBaseSrc = AudioBaseSrcSignalList+type AudioBaseSrcSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++-- method AudioBaseSrc::create_ringbuffer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioRingBuffer"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_src_create_ringbuffer" gst_audio_base_src_create_ringbuffer :: + Ptr AudioBaseSrc -> -- _obj : TInterface "GstAudio" "AudioBaseSrc"+ IO (Ptr AudioRingBuffer)+++audioBaseSrcCreateRingbuffer ::+ (MonadIO m, AudioBaseSrcK a) =>+ a -- _obj+ -> m AudioRingBuffer -- result+audioBaseSrcCreateRingbuffer _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_src_create_ringbuffer _obj'+ checkUnexpectedReturnNULL "gst_audio_base_src_create_ringbuffer" result+ result' <- (newObject AudioRingBuffer) result+ touchManagedPtr _obj+ return result'++data AudioBaseSrcCreateRingbufferMethodInfo+instance (signature ~ (m AudioRingBuffer), MonadIO m, AudioBaseSrcK a) => MethodInfo AudioBaseSrcCreateRingbufferMethodInfo a signature where+ overloadedMethod _ = audioBaseSrcCreateRingbuffer++-- method AudioBaseSrc::get_provide_clock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_src_get_provide_clock" gst_audio_base_src_get_provide_clock :: + Ptr AudioBaseSrc -> -- _obj : TInterface "GstAudio" "AudioBaseSrc"+ IO CInt+++audioBaseSrcGetProvideClock ::+ (MonadIO m, AudioBaseSrcK a) =>+ a -- _obj+ -> m Bool -- result+audioBaseSrcGetProvideClock _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_src_get_provide_clock _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioBaseSrcGetProvideClockMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioBaseSrcK a) => MethodInfo AudioBaseSrcGetProvideClockMethodInfo a signature where+ overloadedMethod _ = audioBaseSrcGetProvideClock++-- method AudioBaseSrc::get_slave_method+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioBaseSrcSlaveMethod"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_src_get_slave_method" gst_audio_base_src_get_slave_method :: + Ptr AudioBaseSrc -> -- _obj : TInterface "GstAudio" "AudioBaseSrc"+ IO CUInt+++audioBaseSrcGetSlaveMethod ::+ (MonadIO m, AudioBaseSrcK a) =>+ a -- _obj+ -> m AudioBaseSrcSlaveMethod -- result+audioBaseSrcGetSlaveMethod _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_base_src_get_slave_method _obj'+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr _obj+ return result'++data AudioBaseSrcGetSlaveMethodMethodInfo+instance (signature ~ (m AudioBaseSrcSlaveMethod), MonadIO m, AudioBaseSrcK a) => MethodInfo AudioBaseSrcGetSlaveMethodMethodInfo a signature where+ overloadedMethod _ = audioBaseSrcGetSlaveMethod++-- method AudioBaseSrc::set_provide_clock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_src_set_provide_clock" gst_audio_base_src_set_provide_clock :: + Ptr AudioBaseSrc -> -- _obj : TInterface "GstAudio" "AudioBaseSrc"+ CInt -> -- provide : TBasicType TBoolean+ IO ()+++audioBaseSrcSetProvideClock ::+ (MonadIO m, AudioBaseSrcK a) =>+ a -- _obj+ -> Bool -- provide+ -> m () -- result+audioBaseSrcSetProvideClock _obj provide = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let provide' = (fromIntegral . fromEnum) provide+ gst_audio_base_src_set_provide_clock _obj' provide'+ touchManagedPtr _obj+ return ()++data AudioBaseSrcSetProvideClockMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioBaseSrcK a) => MethodInfo AudioBaseSrcSetProvideClockMethodInfo a signature where+ overloadedMethod _ = audioBaseSrcSetProvideClock++-- method AudioBaseSrc::set_slave_method+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioBaseSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "method", argType = TInterface "GstAudio" "AudioBaseSrcSlaveMethod", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_base_src_set_slave_method" gst_audio_base_src_set_slave_method :: + Ptr AudioBaseSrc -> -- _obj : TInterface "GstAudio" "AudioBaseSrc"+ CUInt -> -- method : TInterface "GstAudio" "AudioBaseSrcSlaveMethod"+ IO ()+++audioBaseSrcSetSlaveMethod ::+ (MonadIO m, AudioBaseSrcK a) =>+ a -- _obj+ -> AudioBaseSrcSlaveMethod -- method+ -> m () -- result+audioBaseSrcSetSlaveMethod _obj method = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let method' = (fromIntegral . fromEnum) method+ gst_audio_base_src_set_slave_method _obj' method'+ touchManagedPtr _obj+ return ()++data AudioBaseSrcSetSlaveMethodMethodInfo+instance (signature ~ (AudioBaseSrcSlaveMethod -> m ()), MonadIO m, AudioBaseSrcK a) => MethodInfo AudioBaseSrcSetSlaveMethodMethodInfo a signature where+ overloadedMethod _ = audioBaseSrcSetSlaveMethod++
+ GI/GstAudio/Objects/AudioBaseSrc.hs-boot view
@@ -0,0 +1,24 @@+module GI.GstAudio.Objects.AudioBaseSrc where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioBaseSrc = AudioBaseSrc (ForeignPtr AudioBaseSrc)+instance GObject AudioBaseSrc where+class GObject o => AudioBaseSrcK o+instance (GObject o, IsDescendantOf AudioBaseSrc o) => AudioBaseSrcK o+data AudioBaseSrcActualBufferTimePropertyInfo+data AudioBaseSrcActualLatencyTimePropertyInfo+data AudioBaseSrcBufferTimePropertyInfo+data AudioBaseSrcLatencyTimePropertyInfo+data AudioBaseSrcProvideClockPropertyInfo+data AudioBaseSrcSlaveMethodPropertyInfo+data AudioBaseSrcCreateRingbufferMethodInfo+data AudioBaseSrcGetProvideClockMethodInfo+data AudioBaseSrcGetSlaveMethodMethodInfo+data AudioBaseSrcSetProvideClockMethodInfo+data AudioBaseSrcSetSlaveMethodMethodInfo
+ GI/GstAudio/Objects/AudioCdSrc.hs view
@@ -0,0 +1,324 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioCdSrc+ ( ++-- * Exported types+ AudioCdSrc(..) ,+ AudioCdSrcK ,+ toAudioCdSrc ,+ noAudioCdSrc ,+++ -- * Methods+-- ** audioCdSrcAddTrack+ AudioCdSrcAddTrackMethodInfo ,+ audioCdSrcAddTrack ,+++++ -- * Properties+-- ** Device+ AudioCdSrcDevicePropertyInfo ,+ constructAudioCdSrcDevice ,+ getAudioCdSrcDevice ,+ setAudioCdSrcDevice ,+++-- ** Mode+ AudioCdSrcModePropertyInfo ,+ constructAudioCdSrcMode ,+ getAudioCdSrcMode ,+ setAudioCdSrcMode ,+++-- ** Track+ AudioCdSrcTrackPropertyInfo ,+ constructAudioCdSrcTrack ,+ getAudioCdSrcTrack ,+ setAudioCdSrcTrack ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst+import qualified GI.GstBase as GstBase++newtype AudioCdSrc = AudioCdSrc (ForeignPtr AudioCdSrc)+foreign import ccall "gst_audio_cd_src_get_type"+ c_gst_audio_cd_src_get_type :: IO GType++type instance ParentTypes AudioCdSrc = AudioCdSrcParentTypes+type AudioCdSrcParentTypes = '[GstBase.PushSrc, GstBase.BaseSrc, Gst.Element, Gst.Object, GObject.Object, Gst.URIHandler]++instance GObject AudioCdSrc where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_cd_src_get_type+ ++class GObject o => AudioCdSrcK o+instance (GObject o, IsDescendantOf AudioCdSrc o) => AudioCdSrcK o++toAudioCdSrc :: AudioCdSrcK o => o -> IO AudioCdSrc+toAudioCdSrc = unsafeCastTo AudioCdSrc++noAudioCdSrc :: Maybe AudioCdSrc+noAudioCdSrc = Nothing++type family ResolveAudioCdSrcMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioCdSrcMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioCdSrcMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioCdSrcMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioCdSrcMethod "addTrack" o = AudioCdSrcAddTrackMethodInfo+ ResolveAudioCdSrcMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioCdSrcMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioCdSrcMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioCdSrcMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioCdSrcMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioCdSrcMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioCdSrcMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioCdSrcMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioCdSrcMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioCdSrcMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioCdSrcMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioCdSrcMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioCdSrcMethod "isAsync" o = GstBase.BaseSrcIsAsyncMethodInfo+ ResolveAudioCdSrcMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioCdSrcMethod "isLive" o = GstBase.BaseSrcIsLiveMethodInfo+ ResolveAudioCdSrcMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioCdSrcMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioCdSrcMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioCdSrcMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioCdSrcMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioCdSrcMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioCdSrcMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioCdSrcMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioCdSrcMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioCdSrcMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioCdSrcMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioCdSrcMethod "newSeamlessSegment" o = GstBase.BaseSrcNewSeamlessSegmentMethodInfo+ ResolveAudioCdSrcMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioCdSrcMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioCdSrcMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioCdSrcMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioCdSrcMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioCdSrcMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioCdSrcMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioCdSrcMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioCdSrcMethod "queryLatency" o = GstBase.BaseSrcQueryLatencyMethodInfo+ ResolveAudioCdSrcMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioCdSrcMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioCdSrcMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioCdSrcMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioCdSrcMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioCdSrcMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioCdSrcMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioCdSrcMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioCdSrcMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioCdSrcMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioCdSrcMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioCdSrcMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioCdSrcMethod "startComplete" o = GstBase.BaseSrcStartCompleteMethodInfo+ ResolveAudioCdSrcMethod "startWait" o = GstBase.BaseSrcStartWaitMethodInfo+ ResolveAudioCdSrcMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioCdSrcMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioCdSrcMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioCdSrcMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioCdSrcMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioCdSrcMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioCdSrcMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioCdSrcMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioCdSrcMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioCdSrcMethod "waitPlaying" o = GstBase.BaseSrcWaitPlayingMethodInfo+ ResolveAudioCdSrcMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioCdSrcMethod "getAllocator" o = GstBase.BaseSrcGetAllocatorMethodInfo+ ResolveAudioCdSrcMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioCdSrcMethod "getBlocksize" o = GstBase.BaseSrcGetBlocksizeMethodInfo+ ResolveAudioCdSrcMethod "getBufferPool" o = GstBase.BaseSrcGetBufferPoolMethodInfo+ ResolveAudioCdSrcMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioCdSrcMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioCdSrcMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioCdSrcMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioCdSrcMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioCdSrcMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioCdSrcMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioCdSrcMethod "getDoTimestamp" o = GstBase.BaseSrcGetDoTimestampMethodInfo+ ResolveAudioCdSrcMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioCdSrcMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioCdSrcMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioCdSrcMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioCdSrcMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioCdSrcMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioCdSrcMethod "getProtocols" o = Gst.URIHandlerGetProtocolsMethodInfo+ ResolveAudioCdSrcMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioCdSrcMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioCdSrcMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioCdSrcMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioCdSrcMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioCdSrcMethod "getUri" o = Gst.URIHandlerGetUriMethodInfo+ ResolveAudioCdSrcMethod "getUriType" o = Gst.URIHandlerGetUriTypeMethodInfo+ ResolveAudioCdSrcMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioCdSrcMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioCdSrcMethod "setAsync" o = GstBase.BaseSrcSetAsyncMethodInfo+ ResolveAudioCdSrcMethod "setAutomaticEos" o = GstBase.BaseSrcSetAutomaticEosMethodInfo+ ResolveAudioCdSrcMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioCdSrcMethod "setBlocksize" o = GstBase.BaseSrcSetBlocksizeMethodInfo+ ResolveAudioCdSrcMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioCdSrcMethod "setCaps" o = GstBase.BaseSrcSetCapsMethodInfo+ ResolveAudioCdSrcMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioCdSrcMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioCdSrcMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioCdSrcMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioCdSrcMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioCdSrcMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioCdSrcMethod "setDoTimestamp" o = GstBase.BaseSrcSetDoTimestampMethodInfo+ ResolveAudioCdSrcMethod "setDynamicSize" o = GstBase.BaseSrcSetDynamicSizeMethodInfo+ ResolveAudioCdSrcMethod "setFormat" o = GstBase.BaseSrcSetFormatMethodInfo+ ResolveAudioCdSrcMethod "setLive" o = GstBase.BaseSrcSetLiveMethodInfo+ ResolveAudioCdSrcMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioCdSrcMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioCdSrcMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioCdSrcMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioCdSrcMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioCdSrcMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioCdSrcMethod "setUri" o = Gst.URIHandlerSetUriMethodInfo+ ResolveAudioCdSrcMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioCdSrcMethod t AudioCdSrc, MethodInfo info AudioCdSrc p) => IsLabelProxy t (AudioCdSrc -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioCdSrcMethod t AudioCdSrc, MethodInfo info AudioCdSrc p) => IsLabel t (AudioCdSrc -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++-- VVV Prop "device"+ -- Type: TBasicType TUTF8+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioCdSrcDevice :: (MonadIO m, AudioCdSrcK o) => o -> m T.Text+getAudioCdSrcDevice obj = liftIO $ getObjectPropertyString obj "device"++setAudioCdSrcDevice :: (MonadIO m, AudioCdSrcK o) => o -> T.Text -> m ()+setAudioCdSrcDevice obj val = liftIO $ setObjectPropertyString obj "device" val++constructAudioCdSrcDevice :: T.Text -> IO ([Char], GValue)+constructAudioCdSrcDevice val = constructObjectPropertyString "device" val++data AudioCdSrcDevicePropertyInfo+instance AttrInfo AudioCdSrcDevicePropertyInfo where+ type AttrAllowedOps AudioCdSrcDevicePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioCdSrcDevicePropertyInfo = (~) T.Text+ type AttrBaseTypeConstraint AudioCdSrcDevicePropertyInfo = AudioCdSrcK+ type AttrGetType AudioCdSrcDevicePropertyInfo = T.Text+ type AttrLabel AudioCdSrcDevicePropertyInfo = "device"+ attrGet _ = getAudioCdSrcDevice+ attrSet _ = setAudioCdSrcDevice+ attrConstruct _ = constructAudioCdSrcDevice++-- VVV Prop "mode"+ -- Type: TInterface "GstAudio" "AudioCdSrcMode"+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioCdSrcMode :: (MonadIO m, AudioCdSrcK o) => o -> m AudioCdSrcMode+getAudioCdSrcMode obj = liftIO $ getObjectPropertyEnum obj "mode"++setAudioCdSrcMode :: (MonadIO m, AudioCdSrcK o) => o -> AudioCdSrcMode -> m ()+setAudioCdSrcMode obj val = liftIO $ setObjectPropertyEnum obj "mode" val++constructAudioCdSrcMode :: AudioCdSrcMode -> IO ([Char], GValue)+constructAudioCdSrcMode val = constructObjectPropertyEnum "mode" val++data AudioCdSrcModePropertyInfo+instance AttrInfo AudioCdSrcModePropertyInfo where+ type AttrAllowedOps AudioCdSrcModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioCdSrcModePropertyInfo = (~) AudioCdSrcMode+ type AttrBaseTypeConstraint AudioCdSrcModePropertyInfo = AudioCdSrcK+ type AttrGetType AudioCdSrcModePropertyInfo = AudioCdSrcMode+ type AttrLabel AudioCdSrcModePropertyInfo = "mode"+ attrGet _ = getAudioCdSrcMode+ attrSet _ = setAudioCdSrcMode+ attrConstruct _ = constructAudioCdSrcMode++-- VVV Prop "track"+ -- Type: TBasicType TUInt32+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioCdSrcTrack :: (MonadIO m, AudioCdSrcK o) => o -> m Word32+getAudioCdSrcTrack obj = liftIO $ getObjectPropertyCUInt obj "track"++setAudioCdSrcTrack :: (MonadIO m, AudioCdSrcK o) => o -> Word32 -> m ()+setAudioCdSrcTrack obj val = liftIO $ setObjectPropertyCUInt obj "track" val++constructAudioCdSrcTrack :: Word32 -> IO ([Char], GValue)+constructAudioCdSrcTrack val = constructObjectPropertyCUInt "track" val++data AudioCdSrcTrackPropertyInfo+instance AttrInfo AudioCdSrcTrackPropertyInfo where+ type AttrAllowedOps AudioCdSrcTrackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioCdSrcTrackPropertyInfo = (~) Word32+ type AttrBaseTypeConstraint AudioCdSrcTrackPropertyInfo = AudioCdSrcK+ type AttrGetType AudioCdSrcTrackPropertyInfo = Word32+ type AttrLabel AudioCdSrcTrackPropertyInfo = "track"+ attrGet _ = getAudioCdSrcTrack+ attrSet _ = setAudioCdSrcTrack+ attrConstruct _ = constructAudioCdSrcTrack++type instance AttributeList AudioCdSrc = AudioCdSrcAttributeList+type AudioCdSrcAttributeList = ('[ '("blocksize", GstBase.BaseSrcBlocksizePropertyInfo), '("device", AudioCdSrcDevicePropertyInfo), '("doTimestamp", GstBase.BaseSrcDoTimestampPropertyInfo), '("mode", AudioCdSrcModePropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("numBuffers", GstBase.BaseSrcNumBuffersPropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("track", AudioCdSrcTrackPropertyInfo), '("typefind", GstBase.BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioCdSrc = AudioCdSrcSignalList+type AudioCdSrcSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++-- method AudioCdSrc::add_track+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioCdSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "track", argType = TInterface "GstAudio" "AudioCdSrcTrack", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_cd_src_add_track" gst_audio_cd_src_add_track :: + Ptr AudioCdSrc -> -- _obj : TInterface "GstAudio" "AudioCdSrc"+ Ptr AudioCdSrcTrack -> -- track : TInterface "GstAudio" "AudioCdSrcTrack"+ IO CInt+++audioCdSrcAddTrack ::+ (MonadIO m, AudioCdSrcK a) =>+ a -- _obj+ -> AudioCdSrcTrack -- track+ -> m Bool -- result+audioCdSrcAddTrack _obj track = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let track' = unsafeManagedPtrGetPtr track+ result <- gst_audio_cd_src_add_track _obj' track'+ let result' = (/= 0) result+ touchManagedPtr _obj+ touchManagedPtr track+ return result'++data AudioCdSrcAddTrackMethodInfo+instance (signature ~ (AudioCdSrcTrack -> m Bool), MonadIO m, AudioCdSrcK a) => MethodInfo AudioCdSrcAddTrackMethodInfo a signature where+ overloadedMethod _ = audioCdSrcAddTrack++
+ GI/GstAudio/Objects/AudioCdSrc.hs-boot view
@@ -0,0 +1,17 @@+module GI.GstAudio.Objects.AudioCdSrc where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioCdSrc = AudioCdSrc (ForeignPtr AudioCdSrc)+instance GObject AudioCdSrc where+class GObject o => AudioCdSrcK o+instance (GObject o, IsDescendantOf AudioCdSrc o) => AudioCdSrcK o+data AudioCdSrcDevicePropertyInfo+data AudioCdSrcModePropertyInfo+data AudioCdSrcTrackPropertyInfo+data AudioCdSrcAddTrackMethodInfo
+ GI/GstAudio/Objects/AudioClock.hs view
@@ -0,0 +1,293 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioClock+ ( ++-- * Exported types+ AudioClock(..) ,+ AudioClockK ,+ toAudioClock ,+ noAudioClock ,+++ -- * Methods+-- ** audioClockAdjust+ audioClockAdjust ,+++-- ** audioClockGetTime+ audioClockGetTime ,+++-- ** audioClockInvalidate+ audioClockInvalidate ,+++-- ** audioClockNew+ audioClockNew ,+++-- ** audioClockReset+ AudioClockResetMethodInfo ,+ audioClockReset ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GLib as GLib+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst++newtype AudioClock = AudioClock (ForeignPtr AudioClock)+foreign import ccall "gst_audio_clock_get_type"+ c_gst_audio_clock_get_type :: IO GType++type instance ParentTypes AudioClock = AudioClockParentTypes+type AudioClockParentTypes = '[Gst.SystemClock, Gst.Clock, Gst.Object, GObject.Object]++instance GObject AudioClock where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_clock_get_type+ ++class GObject o => AudioClockK o+instance (GObject o, IsDescendantOf AudioClock o) => AudioClockK o++toAudioClock :: AudioClockK o => o -> IO AudioClock+toAudioClock = unsafeCastTo AudioClock++noAudioClock :: Maybe AudioClock+noAudioClock = Nothing++type family ResolveAudioClockMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioClockMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioClockMethod "addObservation" o = Gst.ClockAddObservationMethodInfo+ ResolveAudioClockMethod "addObservationUnapplied" o = Gst.ClockAddObservationUnappliedMethodInfo+ ResolveAudioClockMethod "adjustUnlocked" o = Gst.ClockAdjustUnlockedMethodInfo+ ResolveAudioClockMethod "adjustWithCalibration" o = Gst.ClockAdjustWithCalibrationMethodInfo+ ResolveAudioClockMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioClockMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioClockMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioClockMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioClockMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioClockMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioClockMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioClockMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioClockMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioClockMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioClockMethod "isSynced" o = Gst.ClockIsSyncedMethodInfo+ ResolveAudioClockMethod "newPeriodicId" o = Gst.ClockNewPeriodicIdMethodInfo+ ResolveAudioClockMethod "newSingleShotId" o = Gst.ClockNewSingleShotIdMethodInfo+ ResolveAudioClockMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioClockMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioClockMethod "periodicIdReinit" o = Gst.ClockPeriodicIdReinitMethodInfo+ ResolveAudioClockMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioClockMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioClockMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioClockMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioClockMethod "reset" o = AudioClockResetMethodInfo+ ResolveAudioClockMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioClockMethod "singleShotIdReinit" o = Gst.ClockSingleShotIdReinitMethodInfo+ ResolveAudioClockMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioClockMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioClockMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioClockMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioClockMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioClockMethod "unadjustUnlocked" o = Gst.ClockUnadjustUnlockedMethodInfo+ ResolveAudioClockMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioClockMethod "waitForSync" o = Gst.ClockWaitForSyncMethodInfo+ ResolveAudioClockMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioClockMethod "getCalibration" o = Gst.ClockGetCalibrationMethodInfo+ ResolveAudioClockMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioClockMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioClockMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioClockMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioClockMethod "getInternalTime" o = Gst.ClockGetInternalTimeMethodInfo+ ResolveAudioClockMethod "getMaster" o = Gst.ClockGetMasterMethodInfo+ ResolveAudioClockMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioClockMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioClockMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioClockMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioClockMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioClockMethod "getResolution" o = Gst.ClockGetResolutionMethodInfo+ ResolveAudioClockMethod "getTimeout" o = Gst.ClockGetTimeoutMethodInfo+ ResolveAudioClockMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioClockMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioClockMethod "setCalibration" o = Gst.ClockSetCalibrationMethodInfo+ ResolveAudioClockMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioClockMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioClockMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioClockMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioClockMethod "setMaster" o = Gst.ClockSetMasterMethodInfo+ ResolveAudioClockMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioClockMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioClockMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioClockMethod "setResolution" o = Gst.ClockSetResolutionMethodInfo+ ResolveAudioClockMethod "setSynced" o = Gst.ClockSetSyncedMethodInfo+ ResolveAudioClockMethod "setTimeout" o = Gst.ClockSetTimeoutMethodInfo+ ResolveAudioClockMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioClockMethod t AudioClock, MethodInfo info AudioClock p) => IsLabelProxy t (AudioClock -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioClockMethod t AudioClock, MethodInfo info AudioClock p) => IsLabel t (AudioClock -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++type instance AttributeList AudioClock = AudioClockAttributeList+type AudioClockAttributeList = ('[ '("clockType", Gst.SystemClockClockTypePropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("timeout", Gst.ClockTimeoutPropertyInfo), '("windowSize", Gst.ClockWindowSizePropertyInfo), '("windowThreshold", Gst.ClockWindowThresholdPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioClock = AudioClockSignalList+type AudioClockSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("synced", Gst.ClockSyncedSignalInfo)] :: [(Symbol, *)])++-- method AudioClock::new+-- method type : Constructor+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface "GstAudio" "AudioClockGetTimeFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioClock"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_clock_new" gst_audio_clock_new :: + CString -> -- name : TBasicType TUTF8+ FunPtr AudioClockGetTimeFuncC -> -- func : TInterface "GstAudio" "AudioClockGetTimeFunc"+ Ptr () -> -- user_data : TBasicType TVoid+ FunPtr GLib.DestroyNotifyC -> -- destroy_notify : TInterface "GLib" "DestroyNotify"+ IO (Ptr AudioClock)+++audioClockNew ::+ (MonadIO m) =>+ T.Text -- name+ -> AudioClockGetTimeFunc -- func+ -> m AudioClock -- result+audioClockNew name func = liftIO $ do+ name' <- textToCString name+ func' <- mkAudioClockGetTimeFunc (audioClockGetTimeFuncWrapper Nothing func)+ let userData = castFunPtrToPtr func'+ let destroyNotify = safeFreeFunPtrPtr+ result <- gst_audio_clock_new name' func' userData destroyNotify+ checkUnexpectedReturnNULL "gst_audio_clock_new" result+ result' <- (newObject AudioClock) result+ freeMem name'+ return result'++-- method AudioClock::reset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_clock_reset" gst_audio_clock_reset :: + Ptr AudioClock -> -- _obj : TInterface "GstAudio" "AudioClock"+ Word64 -> -- time : TBasicType TUInt64+ IO ()+++audioClockReset ::+ (MonadIO m, AudioClockK a) =>+ a -- _obj+ -> Word64 -- time+ -> m () -- result+audioClockReset _obj time = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_clock_reset _obj' time+ touchManagedPtr _obj+ return ()++data AudioClockResetMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioClockK a) => MethodInfo AudioClockResetMethodInfo a signature where+ overloadedMethod _ = audioClockReset++-- method AudioClock::adjust+-- method type : MemberFunction+-- Args : [Arg {argCName = "clock", argType = TInterface "Gst" "Clock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_clock_adjust" gst_audio_clock_adjust :: + Ptr Gst.Clock -> -- clock : TInterface "Gst" "Clock"+ Word64 -> -- time : TBasicType TUInt64+ IO Word64+++audioClockAdjust ::+ (MonadIO m, Gst.ClockK a) =>+ a -- clock+ -> Word64 -- time+ -> m Word64 -- result+audioClockAdjust clock time = liftIO $ do+ let clock' = unsafeManagedPtrCastPtr clock+ result <- gst_audio_clock_adjust clock' time+ touchManagedPtr clock+ return result++-- method AudioClock::get_time+-- method type : MemberFunction+-- Args : [Arg {argCName = "clock", argType = TInterface "Gst" "Clock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_clock_get_time" gst_audio_clock_get_time :: + Ptr Gst.Clock -> -- clock : TInterface "Gst" "Clock"+ IO Word64+++audioClockGetTime ::+ (MonadIO m, Gst.ClockK a) =>+ a -- clock+ -> m Word64 -- result+audioClockGetTime clock = liftIO $ do+ let clock' = unsafeManagedPtrCastPtr clock+ result <- gst_audio_clock_get_time clock'+ touchManagedPtr clock+ return result++-- method AudioClock::invalidate+-- method type : MemberFunction+-- Args : [Arg {argCName = "clock", argType = TInterface "Gst" "Clock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_clock_invalidate" gst_audio_clock_invalidate :: + Ptr Gst.Clock -> -- clock : TInterface "Gst" "Clock"+ IO ()+++audioClockInvalidate ::+ (MonadIO m, Gst.ClockK a) =>+ a -- clock+ -> m () -- result+audioClockInvalidate clock = liftIO $ do+ let clock' = unsafeManagedPtrCastPtr clock+ gst_audio_clock_invalidate clock'+ touchManagedPtr clock+ return ()++
+ GI/GstAudio/Objects/AudioClock.hs-boot view
@@ -0,0 +1,14 @@+module GI.GstAudio.Objects.AudioClock where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioClock = AudioClock (ForeignPtr AudioClock)+instance GObject AudioClock where+class GObject o => AudioClockK o+instance (GObject o, IsDescendantOf AudioClock o) => AudioClockK o+data AudioClockResetMethodInfo
+ GI/GstAudio/Objects/AudioDecoder.hs view
@@ -0,0 +1,1320 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioDecoder+ ( ++-- * Exported types+ AudioDecoder(..) ,+ AudioDecoderK ,+ toAudioDecoder ,+ noAudioDecoder ,+++ -- * Methods+-- ** audioDecoderAllocateOutputBuffer+ AudioDecoderAllocateOutputBufferMethodInfo,+ audioDecoderAllocateOutputBuffer ,+++-- ** audioDecoderFinishFrame+ AudioDecoderFinishFrameMethodInfo ,+ audioDecoderFinishFrame ,+++-- ** audioDecoderGetAllocator+ AudioDecoderGetAllocatorMethodInfo ,+ audioDecoderGetAllocator ,+++-- ** audioDecoderGetAudioInfo+ AudioDecoderGetAudioInfoMethodInfo ,+ audioDecoderGetAudioInfo ,+++-- ** audioDecoderGetDelay+ AudioDecoderGetDelayMethodInfo ,+ audioDecoderGetDelay ,+++-- ** audioDecoderGetDrainable+ AudioDecoderGetDrainableMethodInfo ,+ audioDecoderGetDrainable ,+++-- ** audioDecoderGetEstimateRate+ AudioDecoderGetEstimateRateMethodInfo ,+ audioDecoderGetEstimateRate ,+++-- ** audioDecoderGetLatency+ AudioDecoderGetLatencyMethodInfo ,+ audioDecoderGetLatency ,+++-- ** audioDecoderGetMaxErrors+ AudioDecoderGetMaxErrorsMethodInfo ,+ audioDecoderGetMaxErrors ,+++-- ** audioDecoderGetMinLatency+ AudioDecoderGetMinLatencyMethodInfo ,+ audioDecoderGetMinLatency ,+++-- ** audioDecoderGetNeedsFormat+ AudioDecoderGetNeedsFormatMethodInfo ,+ audioDecoderGetNeedsFormat ,+++-- ** audioDecoderGetParseState+ AudioDecoderGetParseStateMethodInfo ,+ audioDecoderGetParseState ,+++-- ** audioDecoderGetPlc+ AudioDecoderGetPlcMethodInfo ,+ audioDecoderGetPlc ,+++-- ** audioDecoderGetPlcAware+ AudioDecoderGetPlcAwareMethodInfo ,+ audioDecoderGetPlcAware ,+++-- ** audioDecoderGetTolerance+ AudioDecoderGetToleranceMethodInfo ,+ audioDecoderGetTolerance ,+++-- ** audioDecoderMergeTags+ AudioDecoderMergeTagsMethodInfo ,+ audioDecoderMergeTags ,+++-- ** audioDecoderNegotiate+ AudioDecoderNegotiateMethodInfo ,+ audioDecoderNegotiate ,+++-- ** audioDecoderProxyGetcaps+ AudioDecoderProxyGetcapsMethodInfo ,+ audioDecoderProxyGetcaps ,+++-- ** audioDecoderSetDrainable+ AudioDecoderSetDrainableMethodInfo ,+ audioDecoderSetDrainable ,+++-- ** audioDecoderSetEstimateRate+ AudioDecoderSetEstimateRateMethodInfo ,+ audioDecoderSetEstimateRate ,+++-- ** audioDecoderSetLatency+ AudioDecoderSetLatencyMethodInfo ,+ audioDecoderSetLatency ,+++-- ** audioDecoderSetMaxErrors+ AudioDecoderSetMaxErrorsMethodInfo ,+ audioDecoderSetMaxErrors ,+++-- ** audioDecoderSetMinLatency+ AudioDecoderSetMinLatencyMethodInfo ,+ audioDecoderSetMinLatency ,+++-- ** audioDecoderSetNeedsFormat+ AudioDecoderSetNeedsFormatMethodInfo ,+ audioDecoderSetNeedsFormat ,+++-- ** audioDecoderSetOutputFormat+ AudioDecoderSetOutputFormatMethodInfo ,+ audioDecoderSetOutputFormat ,+++-- ** audioDecoderSetPlc+ AudioDecoderSetPlcMethodInfo ,+ audioDecoderSetPlc ,+++-- ** audioDecoderSetPlcAware+ AudioDecoderSetPlcAwareMethodInfo ,+ audioDecoderSetPlcAware ,+++-- ** audioDecoderSetTolerance+ AudioDecoderSetToleranceMethodInfo ,+ audioDecoderSetTolerance ,+++-- ** audioDecoderSetUseDefaultPadAcceptcaps+ AudioDecoderSetUseDefaultPadAcceptcapsMethodInfo,+ audioDecoderSetUseDefaultPadAcceptcaps ,+++++ -- * Properties+-- ** MinLatency+ AudioDecoderMinLatencyPropertyInfo ,+ constructAudioDecoderMinLatency ,+ getAudioDecoderMinLatency ,+ setAudioDecoderMinLatency ,+++-- ** Plc+ AudioDecoderPlcPropertyInfo ,+ constructAudioDecoderPlc ,+ getAudioDecoderPlc ,+ setAudioDecoderPlc ,+++-- ** Tolerance+ AudioDecoderTolerancePropertyInfo ,+ constructAudioDecoderTolerance ,+ getAudioDecoderTolerance ,+ setAudioDecoderTolerance ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst++newtype AudioDecoder = AudioDecoder (ForeignPtr AudioDecoder)+foreign import ccall "gst_audio_decoder_get_type"+ c_gst_audio_decoder_get_type :: IO GType++type instance ParentTypes AudioDecoder = AudioDecoderParentTypes+type AudioDecoderParentTypes = '[Gst.Element, Gst.Object, GObject.Object]++instance GObject AudioDecoder where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_decoder_get_type+ ++class GObject o => AudioDecoderK o+instance (GObject o, IsDescendantOf AudioDecoder o) => AudioDecoderK o++toAudioDecoder :: AudioDecoderK o => o -> IO AudioDecoder+toAudioDecoder = unsafeCastTo AudioDecoder++noAudioDecoder :: Maybe AudioDecoder+noAudioDecoder = Nothing++type family ResolveAudioDecoderMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioDecoderMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioDecoderMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioDecoderMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioDecoderMethod "allocateOutputBuffer" o = AudioDecoderAllocateOutputBufferMethodInfo+ ResolveAudioDecoderMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioDecoderMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioDecoderMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioDecoderMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioDecoderMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioDecoderMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioDecoderMethod "finishFrame" o = AudioDecoderFinishFrameMethodInfo+ ResolveAudioDecoderMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioDecoderMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioDecoderMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioDecoderMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioDecoderMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioDecoderMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioDecoderMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioDecoderMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioDecoderMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioDecoderMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioDecoderMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioDecoderMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioDecoderMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioDecoderMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioDecoderMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioDecoderMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioDecoderMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioDecoderMethod "mergeTags" o = AudioDecoderMergeTagsMethodInfo+ ResolveAudioDecoderMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioDecoderMethod "negotiate" o = AudioDecoderNegotiateMethodInfo+ ResolveAudioDecoderMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioDecoderMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioDecoderMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioDecoderMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioDecoderMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioDecoderMethod "proxyGetcaps" o = AudioDecoderProxyGetcapsMethodInfo+ ResolveAudioDecoderMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioDecoderMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioDecoderMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioDecoderMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioDecoderMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioDecoderMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioDecoderMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioDecoderMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioDecoderMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioDecoderMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioDecoderMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioDecoderMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioDecoderMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioDecoderMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioDecoderMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioDecoderMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioDecoderMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioDecoderMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioDecoderMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioDecoderMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioDecoderMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioDecoderMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioDecoderMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioDecoderMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioDecoderMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioDecoderMethod "getAllocator" o = AudioDecoderGetAllocatorMethodInfo+ ResolveAudioDecoderMethod "getAudioInfo" o = AudioDecoderGetAudioInfoMethodInfo+ ResolveAudioDecoderMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioDecoderMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioDecoderMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioDecoderMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioDecoderMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioDecoderMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioDecoderMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioDecoderMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioDecoderMethod "getDelay" o = AudioDecoderGetDelayMethodInfo+ ResolveAudioDecoderMethod "getDrainable" o = AudioDecoderGetDrainableMethodInfo+ ResolveAudioDecoderMethod "getEstimateRate" o = AudioDecoderGetEstimateRateMethodInfo+ ResolveAudioDecoderMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioDecoderMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioDecoderMethod "getLatency" o = AudioDecoderGetLatencyMethodInfo+ ResolveAudioDecoderMethod "getMaxErrors" o = AudioDecoderGetMaxErrorsMethodInfo+ ResolveAudioDecoderMethod "getMinLatency" o = AudioDecoderGetMinLatencyMethodInfo+ ResolveAudioDecoderMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioDecoderMethod "getNeedsFormat" o = AudioDecoderGetNeedsFormatMethodInfo+ ResolveAudioDecoderMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioDecoderMethod "getParseState" o = AudioDecoderGetParseStateMethodInfo+ ResolveAudioDecoderMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioDecoderMethod "getPlc" o = AudioDecoderGetPlcMethodInfo+ ResolveAudioDecoderMethod "getPlcAware" o = AudioDecoderGetPlcAwareMethodInfo+ ResolveAudioDecoderMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioDecoderMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioDecoderMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioDecoderMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioDecoderMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioDecoderMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioDecoderMethod "getTolerance" o = AudioDecoderGetToleranceMethodInfo+ ResolveAudioDecoderMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioDecoderMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioDecoderMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioDecoderMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioDecoderMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioDecoderMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioDecoderMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioDecoderMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioDecoderMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioDecoderMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioDecoderMethod "setDrainable" o = AudioDecoderSetDrainableMethodInfo+ ResolveAudioDecoderMethod "setEstimateRate" o = AudioDecoderSetEstimateRateMethodInfo+ ResolveAudioDecoderMethod "setLatency" o = AudioDecoderSetLatencyMethodInfo+ ResolveAudioDecoderMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioDecoderMethod "setMaxErrors" o = AudioDecoderSetMaxErrorsMethodInfo+ ResolveAudioDecoderMethod "setMinLatency" o = AudioDecoderSetMinLatencyMethodInfo+ ResolveAudioDecoderMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioDecoderMethod "setNeedsFormat" o = AudioDecoderSetNeedsFormatMethodInfo+ ResolveAudioDecoderMethod "setOutputFormat" o = AudioDecoderSetOutputFormatMethodInfo+ ResolveAudioDecoderMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioDecoderMethod "setPlc" o = AudioDecoderSetPlcMethodInfo+ ResolveAudioDecoderMethod "setPlcAware" o = AudioDecoderSetPlcAwareMethodInfo+ ResolveAudioDecoderMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioDecoderMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioDecoderMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioDecoderMethod "setTolerance" o = AudioDecoderSetToleranceMethodInfo+ ResolveAudioDecoderMethod "setUseDefaultPadAcceptcaps" o = AudioDecoderSetUseDefaultPadAcceptcapsMethodInfo+ ResolveAudioDecoderMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioDecoderMethod t AudioDecoder, MethodInfo info AudioDecoder p) => IsLabelProxy t (AudioDecoder -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioDecoderMethod t AudioDecoder, MethodInfo info AudioDecoder p) => IsLabel t (AudioDecoder -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++-- VVV Prop "min-latency"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioDecoderMinLatency :: (MonadIO m, AudioDecoderK o) => o -> m Int64+getAudioDecoderMinLatency obj = liftIO $ getObjectPropertyInt64 obj "min-latency"++setAudioDecoderMinLatency :: (MonadIO m, AudioDecoderK o) => o -> Int64 -> m ()+setAudioDecoderMinLatency obj val = liftIO $ setObjectPropertyInt64 obj "min-latency" val++constructAudioDecoderMinLatency :: Int64 -> IO ([Char], GValue)+constructAudioDecoderMinLatency val = constructObjectPropertyInt64 "min-latency" val++data AudioDecoderMinLatencyPropertyInfo+instance AttrInfo AudioDecoderMinLatencyPropertyInfo where+ type AttrAllowedOps AudioDecoderMinLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioDecoderMinLatencyPropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioDecoderMinLatencyPropertyInfo = AudioDecoderK+ type AttrGetType AudioDecoderMinLatencyPropertyInfo = Int64+ type AttrLabel AudioDecoderMinLatencyPropertyInfo = "min-latency"+ attrGet _ = getAudioDecoderMinLatency+ attrSet _ = setAudioDecoderMinLatency+ attrConstruct _ = constructAudioDecoderMinLatency++-- VVV Prop "plc"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioDecoderPlc :: (MonadIO m, AudioDecoderK o) => o -> m Bool+getAudioDecoderPlc obj = liftIO $ getObjectPropertyBool obj "plc"++setAudioDecoderPlc :: (MonadIO m, AudioDecoderK o) => o -> Bool -> m ()+setAudioDecoderPlc obj val = liftIO $ setObjectPropertyBool obj "plc" val++constructAudioDecoderPlc :: Bool -> IO ([Char], GValue)+constructAudioDecoderPlc val = constructObjectPropertyBool "plc" val++data AudioDecoderPlcPropertyInfo+instance AttrInfo AudioDecoderPlcPropertyInfo where+ type AttrAllowedOps AudioDecoderPlcPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioDecoderPlcPropertyInfo = (~) Bool+ type AttrBaseTypeConstraint AudioDecoderPlcPropertyInfo = AudioDecoderK+ type AttrGetType AudioDecoderPlcPropertyInfo = Bool+ type AttrLabel AudioDecoderPlcPropertyInfo = "plc"+ attrGet _ = getAudioDecoderPlc+ attrSet _ = setAudioDecoderPlc+ attrConstruct _ = constructAudioDecoderPlc++-- VVV Prop "tolerance"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioDecoderTolerance :: (MonadIO m, AudioDecoderK o) => o -> m Int64+getAudioDecoderTolerance obj = liftIO $ getObjectPropertyInt64 obj "tolerance"++setAudioDecoderTolerance :: (MonadIO m, AudioDecoderK o) => o -> Int64 -> m ()+setAudioDecoderTolerance obj val = liftIO $ setObjectPropertyInt64 obj "tolerance" val++constructAudioDecoderTolerance :: Int64 -> IO ([Char], GValue)+constructAudioDecoderTolerance val = constructObjectPropertyInt64 "tolerance" val++data AudioDecoderTolerancePropertyInfo+instance AttrInfo AudioDecoderTolerancePropertyInfo where+ type AttrAllowedOps AudioDecoderTolerancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioDecoderTolerancePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioDecoderTolerancePropertyInfo = AudioDecoderK+ type AttrGetType AudioDecoderTolerancePropertyInfo = Int64+ type AttrLabel AudioDecoderTolerancePropertyInfo = "tolerance"+ attrGet _ = getAudioDecoderTolerance+ attrSet _ = setAudioDecoderTolerance+ attrConstruct _ = constructAudioDecoderTolerance++type instance AttributeList AudioDecoder = AudioDecoderAttributeList+type AudioDecoderAttributeList = ('[ '("minLatency", AudioDecoderMinLatencyPropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("plc", AudioDecoderPlcPropertyInfo), '("tolerance", AudioDecoderTolerancePropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioDecoder = AudioDecoderSignalList+type AudioDecoderSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++-- method AudioDecoder::allocate_output_buffer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_allocate_output_buffer" gst_audio_decoder_allocate_output_buffer :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Word64 -> -- size : TBasicType TUInt64+ IO (Ptr Gst.Buffer)+++audioDecoderAllocateOutputBuffer ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Word64 -- size+ -> m Gst.Buffer -- result+audioDecoderAllocateOutputBuffer _obj size = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_allocate_output_buffer _obj' size+ checkUnexpectedReturnNULL "gst_audio_decoder_allocate_output_buffer" result+ result' <- (wrapBoxed Gst.Buffer) result+ touchManagedPtr _obj+ return result'++data AudioDecoderAllocateOutputBufferMethodInfo+instance (signature ~ (Word64 -> m Gst.Buffer), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderAllocateOutputBufferMethodInfo a signature where+ overloadedMethod _ = audioDecoderAllocateOutputBuffer++-- method AudioDecoder::finish_frame+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frames", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "FlowReturn"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_finish_frame" gst_audio_decoder_finish_frame :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Ptr Gst.Buffer -> -- buf : TInterface "Gst" "Buffer"+ Int32 -> -- frames : TBasicType TInt32+ IO CUInt+++audioDecoderFinishFrame ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Gst.Buffer -- buf+ -> Int32 -- frames+ -> m Gst.FlowReturn -- result+audioDecoderFinishFrame _obj buf frames = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let buf' = unsafeManagedPtrGetPtr buf+ result <- gst_audio_decoder_finish_frame _obj' buf' frames+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr _obj+ touchManagedPtr buf+ return result'++data AudioDecoderFinishFrameMethodInfo+instance (signature ~ (Gst.Buffer -> Int32 -> m Gst.FlowReturn), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderFinishFrameMethodInfo a signature where+ overloadedMethod _ = audioDecoderFinishFrame++-- method AudioDecoder::get_allocator+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface "Gst" "Allocator", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "params", argType = TInterface "Gst" "AllocationParams", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_allocator" gst_audio_decoder_get_allocator :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Ptr (Ptr Gst.Allocator) -> -- allocator : TInterface "Gst" "Allocator"+ Ptr Gst.AllocationParams -> -- params : TInterface "Gst" "AllocationParams"+ IO ()+++audioDecoderGetAllocator ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m (Gst.Allocator,Gst.AllocationParams)-- result+audioDecoderGetAllocator _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator))+ params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams)+ gst_audio_decoder_get_allocator _obj' allocator params+ allocator' <- peek allocator+ allocator'' <- (wrapObject Gst.Allocator) allocator'+ params' <- (wrapBoxed Gst.AllocationParams) params+ touchManagedPtr _obj+ freeMem allocator+ return (allocator'', params')++data AudioDecoderGetAllocatorMethodInfo+instance (signature ~ (m (Gst.Allocator,Gst.AllocationParams)), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetAllocatorMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetAllocator++-- method AudioDecoder::get_audio_info+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioInfo"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_audio_info" gst_audio_decoder_get_audio_info :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO (Ptr AudioInfo)+++audioDecoderGetAudioInfo ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m AudioInfo -- result+audioDecoderGetAudioInfo _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_audio_info _obj'+ checkUnexpectedReturnNULL "gst_audio_decoder_get_audio_info" result+ result' <- (wrapBoxed AudioInfo) result+ touchManagedPtr _obj+ return result'++data AudioDecoderGetAudioInfoMethodInfo+instance (signature ~ (m AudioInfo), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetAudioInfoMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetAudioInfo++-- method AudioDecoder::get_delay+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_delay" gst_audio_decoder_get_delay :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO Int32+++audioDecoderGetDelay ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioDecoderGetDelay _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_delay _obj'+ touchManagedPtr _obj+ return result++data AudioDecoderGetDelayMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetDelayMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetDelay++-- method AudioDecoder::get_drainable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_drainable" gst_audio_decoder_get_drainable :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO CInt+++audioDecoderGetDrainable ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Bool -- result+audioDecoderGetDrainable _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_drainable _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioDecoderGetDrainableMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetDrainableMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetDrainable++-- method AudioDecoder::get_estimate_rate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_estimate_rate" gst_audio_decoder_get_estimate_rate :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO Int32+++audioDecoderGetEstimateRate ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioDecoderGetEstimateRate _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_estimate_rate _obj'+ touchManagedPtr _obj+ return result++data AudioDecoderGetEstimateRateMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetEstimateRateMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetEstimateRate++-- method AudioDecoder::get_latency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "max", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_latency" gst_audio_decoder_get_latency :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Ptr Word64 -> -- min : TBasicType TUInt64+ Ptr Word64 -> -- max : TBasicType TUInt64+ IO ()+++audioDecoderGetLatency ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m (Word64,Word64) -- result+audioDecoderGetLatency _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ min <- allocMem :: IO (Ptr Word64)+ max <- allocMem :: IO (Ptr Word64)+ gst_audio_decoder_get_latency _obj' min max+ min' <- peek min+ max' <- peek max+ touchManagedPtr _obj+ freeMem min+ freeMem max+ return (min', max')++data AudioDecoderGetLatencyMethodInfo+instance (signature ~ (m (Word64,Word64)), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetLatencyMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetLatency++-- method AudioDecoder::get_max_errors+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_max_errors" gst_audio_decoder_get_max_errors :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO Int32+++audioDecoderGetMaxErrors ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioDecoderGetMaxErrors _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_max_errors _obj'+ touchManagedPtr _obj+ return result++data AudioDecoderGetMaxErrorsMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetMaxErrorsMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetMaxErrors++-- method AudioDecoder::get_min_latency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_min_latency" gst_audio_decoder_get_min_latency :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO Word64+++audioDecoderGetMinLatency ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Word64 -- result+audioDecoderGetMinLatency _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_min_latency _obj'+ touchManagedPtr _obj+ return result++data AudioDecoderGetMinLatencyMethodInfo+instance (signature ~ (m Word64), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetMinLatencyMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetMinLatency++-- method AudioDecoder::get_needs_format+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_needs_format" gst_audio_decoder_get_needs_format :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO CInt+++audioDecoderGetNeedsFormat ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Bool -- result+audioDecoderGetNeedsFormat _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_needs_format _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioDecoderGetNeedsFormatMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetNeedsFormatMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetNeedsFormat++-- method AudioDecoder::get_parse_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sync", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "eos", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_parse_state" gst_audio_decoder_get_parse_state :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- sync : TBasicType TBoolean+ CInt -> -- eos : TBasicType TBoolean+ IO ()+++audioDecoderGetParseState ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- sync+ -> Bool -- eos+ -> m () -- result+audioDecoderGetParseState _obj sync eos = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let sync' = (fromIntegral . fromEnum) sync+ let eos' = (fromIntegral . fromEnum) eos+ gst_audio_decoder_get_parse_state _obj' sync' eos'+ touchManagedPtr _obj+ return ()++data AudioDecoderGetParseStateMethodInfo+instance (signature ~ (Bool -> Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetParseStateMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetParseState++-- method AudioDecoder::get_plc+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_plc" gst_audio_decoder_get_plc :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO CInt+++audioDecoderGetPlc ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Bool -- result+audioDecoderGetPlc _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_plc _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioDecoderGetPlcMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetPlcMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetPlc++-- method AudioDecoder::get_plc_aware+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_plc_aware" gst_audio_decoder_get_plc_aware :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO Int32+++audioDecoderGetPlcAware ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioDecoderGetPlcAware _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_plc_aware _obj'+ touchManagedPtr _obj+ return result++data AudioDecoderGetPlcAwareMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetPlcAwareMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetPlcAware++-- method AudioDecoder::get_tolerance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_get_tolerance" gst_audio_decoder_get_tolerance :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO Word64+++audioDecoderGetTolerance ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Word64 -- result+audioDecoderGetTolerance _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_get_tolerance _obj'+ touchManagedPtr _obj+ return result++data AudioDecoderGetToleranceMethodInfo+instance (signature ~ (m Word64), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderGetToleranceMethodInfo a signature where+ overloadedMethod _ = audioDecoderGetTolerance++-- method AudioDecoder::merge_tags+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface "Gst" "TagList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface "Gst" "TagMergeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_merge_tags" gst_audio_decoder_merge_tags :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Ptr Gst.TagList -> -- tags : TInterface "Gst" "TagList"+ CUInt -> -- mode : TInterface "Gst" "TagMergeMode"+ IO ()+++audioDecoderMergeTags ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Maybe (Gst.TagList) -- tags+ -> Gst.TagMergeMode -- mode+ -> m () -- result+audioDecoderMergeTags _obj tags mode = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ maybeTags <- case tags of+ Nothing -> return nullPtr+ Just jTags -> do+ let jTags' = unsafeManagedPtrGetPtr jTags+ return jTags'+ let mode' = (fromIntegral . fromEnum) mode+ gst_audio_decoder_merge_tags _obj' maybeTags mode'+ touchManagedPtr _obj+ whenJust tags touchManagedPtr+ return ()++data AudioDecoderMergeTagsMethodInfo+instance (signature ~ (Maybe (Gst.TagList) -> Gst.TagMergeMode -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderMergeTagsMethodInfo a signature where+ overloadedMethod _ = audioDecoderMergeTags++-- method AudioDecoder::negotiate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_negotiate" gst_audio_decoder_negotiate :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ IO CInt+++audioDecoderNegotiate ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> m Bool -- result+audioDecoderNegotiate _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_decoder_negotiate _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioDecoderNegotiateMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderNegotiateMethodInfo a signature where+ overloadedMethod _ = audioDecoderNegotiate++-- method AudioDecoder::proxy_getcaps+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "Caps"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_proxy_getcaps" gst_audio_decoder_proxy_getcaps :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Ptr Gst.Caps -> -- caps : TInterface "Gst" "Caps"+ Ptr Gst.Caps -> -- filter : TInterface "Gst" "Caps"+ IO (Ptr Gst.Caps)+++audioDecoderProxyGetcaps ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Maybe (Gst.Caps) -- caps+ -> Maybe (Gst.Caps) -- filter+ -> m Gst.Caps -- result+audioDecoderProxyGetcaps _obj caps filter = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ maybeCaps <- case caps of+ Nothing -> return nullPtr+ Just jCaps -> do+ let jCaps' = unsafeManagedPtrGetPtr jCaps+ return jCaps'+ maybeFilter <- case filter of+ Nothing -> return nullPtr+ Just jFilter -> do+ let jFilter' = unsafeManagedPtrGetPtr jFilter+ return jFilter'+ result <- gst_audio_decoder_proxy_getcaps _obj' maybeCaps maybeFilter+ checkUnexpectedReturnNULL "gst_audio_decoder_proxy_getcaps" result+ result' <- (wrapBoxed Gst.Caps) result+ touchManagedPtr _obj+ whenJust caps touchManagedPtr+ whenJust filter touchManagedPtr+ return result'++data AudioDecoderProxyGetcapsMethodInfo+instance (signature ~ (Maybe (Gst.Caps) -> Maybe (Gst.Caps) -> m Gst.Caps), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderProxyGetcapsMethodInfo a signature where+ overloadedMethod _ = audioDecoderProxyGetcaps++-- method AudioDecoder::set_drainable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_drainable" gst_audio_decoder_set_drainable :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioDecoderSetDrainable ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioDecoderSetDrainable _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_decoder_set_drainable _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioDecoderSetDrainableMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetDrainableMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetDrainable++-- method AudioDecoder::set_estimate_rate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_estimate_rate" gst_audio_decoder_set_estimate_rate :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioDecoderSetEstimateRate ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioDecoderSetEstimateRate _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_decoder_set_estimate_rate _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioDecoderSetEstimateRateMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetEstimateRateMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetEstimateRate++-- method AudioDecoder::set_latency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_latency" gst_audio_decoder_set_latency :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Word64 -> -- min : TBasicType TUInt64+ Word64 -> -- max : TBasicType TUInt64+ IO ()+++audioDecoderSetLatency ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Word64 -- min+ -> Word64 -- max+ -> m () -- result+audioDecoderSetLatency _obj min max = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_decoder_set_latency _obj' min max+ touchManagedPtr _obj+ return ()++data AudioDecoderSetLatencyMethodInfo+instance (signature ~ (Word64 -> Word64 -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetLatencyMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetLatency++-- method AudioDecoder::set_max_errors+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_max_errors" gst_audio_decoder_set_max_errors :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Int32 -> -- num : TBasicType TInt32+ IO ()+++audioDecoderSetMaxErrors ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Int32 -- num+ -> m () -- result+audioDecoderSetMaxErrors _obj num = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_decoder_set_max_errors _obj' num+ touchManagedPtr _obj+ return ()++data AudioDecoderSetMaxErrorsMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetMaxErrorsMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetMaxErrors++-- method AudioDecoder::set_min_latency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_min_latency" gst_audio_decoder_set_min_latency :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Word64 -> -- num : TBasicType TUInt64+ IO ()+++audioDecoderSetMinLatency ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Word64 -- num+ -> m () -- result+audioDecoderSetMinLatency _obj num = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_decoder_set_min_latency _obj' num+ touchManagedPtr _obj+ return ()++data AudioDecoderSetMinLatencyMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetMinLatencyMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetMinLatency++-- method AudioDecoder::set_needs_format+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_needs_format" gst_audio_decoder_set_needs_format :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioDecoderSetNeedsFormat ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioDecoderSetNeedsFormat _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_decoder_set_needs_format _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioDecoderSetNeedsFormatMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetNeedsFormatMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetNeedsFormat++-- method AudioDecoder::set_output_format+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_output_format" gst_audio_decoder_set_output_format :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Ptr AudioInfo -> -- info : TInterface "GstAudio" "AudioInfo"+ IO CInt+++audioDecoderSetOutputFormat ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> AudioInfo -- info+ -> m Bool -- result+audioDecoderSetOutputFormat _obj info = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let info' = unsafeManagedPtrGetPtr info+ result <- gst_audio_decoder_set_output_format _obj' info'+ let result' = (/= 0) result+ touchManagedPtr _obj+ touchManagedPtr info+ return result'++data AudioDecoderSetOutputFormatMethodInfo+instance (signature ~ (AudioInfo -> m Bool), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetOutputFormatMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetOutputFormat++-- method AudioDecoder::set_plc+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_plc" gst_audio_decoder_set_plc :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioDecoderSetPlc ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioDecoderSetPlc _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_decoder_set_plc _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioDecoderSetPlcMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetPlcMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetPlc++-- method AudioDecoder::set_plc_aware+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plc", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_plc_aware" gst_audio_decoder_set_plc_aware :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- plc : TBasicType TBoolean+ IO ()+++audioDecoderSetPlcAware ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- plc+ -> m () -- result+audioDecoderSetPlcAware _obj plc = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let plc' = (fromIntegral . fromEnum) plc+ gst_audio_decoder_set_plc_aware _obj' plc'+ touchManagedPtr _obj+ return ()++data AudioDecoderSetPlcAwareMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetPlcAwareMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetPlcAware++-- method AudioDecoder::set_tolerance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tolerance", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_tolerance" gst_audio_decoder_set_tolerance :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ Word64 -> -- tolerance : TBasicType TUInt64+ IO ()+++audioDecoderSetTolerance ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Word64 -- tolerance+ -> m () -- result+audioDecoderSetTolerance _obj tolerance = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_decoder_set_tolerance _obj' tolerance+ touchManagedPtr _obj+ return ()++data AudioDecoderSetToleranceMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetToleranceMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetTolerance++-- method AudioDecoder::set_use_default_pad_acceptcaps+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioDecoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_decoder_set_use_default_pad_acceptcaps" gst_audio_decoder_set_use_default_pad_acceptcaps :: + Ptr AudioDecoder -> -- _obj : TInterface "GstAudio" "AudioDecoder"+ CInt -> -- use : TBasicType TBoolean+ IO ()+++audioDecoderSetUseDefaultPadAcceptcaps ::+ (MonadIO m, AudioDecoderK a) =>+ a -- _obj+ -> Bool -- use+ -> m () -- result+audioDecoderSetUseDefaultPadAcceptcaps _obj use = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let use' = (fromIntegral . fromEnum) use+ gst_audio_decoder_set_use_default_pad_acceptcaps _obj' use'+ touchManagedPtr _obj+ return ()++data AudioDecoderSetUseDefaultPadAcceptcapsMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioDecoderK a) => MethodInfo AudioDecoderSetUseDefaultPadAcceptcapsMethodInfo a signature where+ overloadedMethod _ = audioDecoderSetUseDefaultPadAcceptcaps++
+ GI/GstAudio/Objects/AudioDecoder.hs-boot view
@@ -0,0 +1,45 @@+module GI.GstAudio.Objects.AudioDecoder where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioDecoder = AudioDecoder (ForeignPtr AudioDecoder)+instance GObject AudioDecoder where+class GObject o => AudioDecoderK o+instance (GObject o, IsDescendantOf AudioDecoder o) => AudioDecoderK o+data AudioDecoderMinLatencyPropertyInfo+data AudioDecoderPlcPropertyInfo+data AudioDecoderTolerancePropertyInfo+data AudioDecoderAllocateOutputBufferMethodInfo+data AudioDecoderFinishFrameMethodInfo+data AudioDecoderGetAllocatorMethodInfo+data AudioDecoderGetAudioInfoMethodInfo+data AudioDecoderGetDelayMethodInfo+data AudioDecoderGetDrainableMethodInfo+data AudioDecoderGetEstimateRateMethodInfo+data AudioDecoderGetLatencyMethodInfo+data AudioDecoderGetMaxErrorsMethodInfo+data AudioDecoderGetMinLatencyMethodInfo+data AudioDecoderGetNeedsFormatMethodInfo+data AudioDecoderGetParseStateMethodInfo+data AudioDecoderGetPlcMethodInfo+data AudioDecoderGetPlcAwareMethodInfo+data AudioDecoderGetToleranceMethodInfo+data AudioDecoderMergeTagsMethodInfo+data AudioDecoderNegotiateMethodInfo+data AudioDecoderProxyGetcapsMethodInfo+data AudioDecoderSetDrainableMethodInfo+data AudioDecoderSetEstimateRateMethodInfo+data AudioDecoderSetLatencyMethodInfo+data AudioDecoderSetMaxErrorsMethodInfo+data AudioDecoderSetMinLatencyMethodInfo+data AudioDecoderSetNeedsFormatMethodInfo+data AudioDecoderSetOutputFormatMethodInfo+data AudioDecoderSetPlcMethodInfo+data AudioDecoderSetPlcAwareMethodInfo+data AudioDecoderSetToleranceMethodInfo+data AudioDecoderSetUseDefaultPadAcceptcapsMethodInfo
+ GI/GstAudio/Objects/AudioEncoder.hs view
@@ -0,0 +1,1420 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioEncoder+ ( ++-- * Exported types+ AudioEncoder(..) ,+ AudioEncoderK ,+ toAudioEncoder ,+ noAudioEncoder ,+++ -- * Methods+-- ** audioEncoderAllocateOutputBuffer+ AudioEncoderAllocateOutputBufferMethodInfo,+ audioEncoderAllocateOutputBuffer ,+++-- ** audioEncoderFinishFrame+ AudioEncoderFinishFrameMethodInfo ,+ audioEncoderFinishFrame ,+++-- ** audioEncoderGetAllocator+ AudioEncoderGetAllocatorMethodInfo ,+ audioEncoderGetAllocator ,+++-- ** audioEncoderGetAudioInfo+ AudioEncoderGetAudioInfoMethodInfo ,+ audioEncoderGetAudioInfo ,+++-- ** audioEncoderGetDrainable+ AudioEncoderGetDrainableMethodInfo ,+ audioEncoderGetDrainable ,+++-- ** audioEncoderGetFrameMax+ AudioEncoderGetFrameMaxMethodInfo ,+ audioEncoderGetFrameMax ,+++-- ** audioEncoderGetFrameSamplesMax+ AudioEncoderGetFrameSamplesMaxMethodInfo,+ audioEncoderGetFrameSamplesMax ,+++-- ** audioEncoderGetFrameSamplesMin+ AudioEncoderGetFrameSamplesMinMethodInfo,+ audioEncoderGetFrameSamplesMin ,+++-- ** audioEncoderGetHardMin+ AudioEncoderGetHardMinMethodInfo ,+ audioEncoderGetHardMin ,+++-- ** audioEncoderGetHardResync+ AudioEncoderGetHardResyncMethodInfo ,+ audioEncoderGetHardResync ,+++-- ** audioEncoderGetLatency+ AudioEncoderGetLatencyMethodInfo ,+ audioEncoderGetLatency ,+++-- ** audioEncoderGetLookahead+ AudioEncoderGetLookaheadMethodInfo ,+ audioEncoderGetLookahead ,+++-- ** audioEncoderGetMarkGranule+ AudioEncoderGetMarkGranuleMethodInfo ,+ audioEncoderGetMarkGranule ,+++-- ** audioEncoderGetPerfectTimestamp+ AudioEncoderGetPerfectTimestampMethodInfo,+ audioEncoderGetPerfectTimestamp ,+++-- ** audioEncoderGetTolerance+ AudioEncoderGetToleranceMethodInfo ,+ audioEncoderGetTolerance ,+++-- ** audioEncoderMergeTags+ AudioEncoderMergeTagsMethodInfo ,+ audioEncoderMergeTags ,+++-- ** audioEncoderNegotiate+ AudioEncoderNegotiateMethodInfo ,+ audioEncoderNegotiate ,+++-- ** audioEncoderProxyGetcaps+ AudioEncoderProxyGetcapsMethodInfo ,+ audioEncoderProxyGetcaps ,+++-- ** audioEncoderSetDrainable+ AudioEncoderSetDrainableMethodInfo ,+ audioEncoderSetDrainable ,+++-- ** audioEncoderSetFrameMax+ AudioEncoderSetFrameMaxMethodInfo ,+ audioEncoderSetFrameMax ,+++-- ** audioEncoderSetFrameSamplesMax+ AudioEncoderSetFrameSamplesMaxMethodInfo,+ audioEncoderSetFrameSamplesMax ,+++-- ** audioEncoderSetFrameSamplesMin+ AudioEncoderSetFrameSamplesMinMethodInfo,+ audioEncoderSetFrameSamplesMin ,+++-- ** audioEncoderSetHardMin+ AudioEncoderSetHardMinMethodInfo ,+ audioEncoderSetHardMin ,+++-- ** audioEncoderSetHardResync+ AudioEncoderSetHardResyncMethodInfo ,+ audioEncoderSetHardResync ,+++-- ** audioEncoderSetHeaders+ AudioEncoderSetHeadersMethodInfo ,+ audioEncoderSetHeaders ,+++-- ** audioEncoderSetLatency+ AudioEncoderSetLatencyMethodInfo ,+ audioEncoderSetLatency ,+++-- ** audioEncoderSetLookahead+ AudioEncoderSetLookaheadMethodInfo ,+ audioEncoderSetLookahead ,+++-- ** audioEncoderSetMarkGranule+ AudioEncoderSetMarkGranuleMethodInfo ,+ audioEncoderSetMarkGranule ,+++-- ** audioEncoderSetOutputFormat+ AudioEncoderSetOutputFormatMethodInfo ,+ audioEncoderSetOutputFormat ,+++-- ** audioEncoderSetPerfectTimestamp+ AudioEncoderSetPerfectTimestampMethodInfo,+ audioEncoderSetPerfectTimestamp ,+++-- ** audioEncoderSetTolerance+ AudioEncoderSetToleranceMethodInfo ,+ audioEncoderSetTolerance ,+++++ -- * Properties+-- ** HardResync+ AudioEncoderHardResyncPropertyInfo ,+ constructAudioEncoderHardResync ,+ getAudioEncoderHardResync ,+ setAudioEncoderHardResync ,+++-- ** MarkGranule+ AudioEncoderMarkGranulePropertyInfo ,+ getAudioEncoderMarkGranule ,+++-- ** PerfectTimestamp+ AudioEncoderPerfectTimestampPropertyInfo,+ constructAudioEncoderPerfectTimestamp ,+ getAudioEncoderPerfectTimestamp ,+ setAudioEncoderPerfectTimestamp ,+++-- ** Tolerance+ AudioEncoderTolerancePropertyInfo ,+ constructAudioEncoderTolerance ,+ getAudioEncoderTolerance ,+ setAudioEncoderTolerance ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst++newtype AudioEncoder = AudioEncoder (ForeignPtr AudioEncoder)+foreign import ccall "gst_audio_encoder_get_type"+ c_gst_audio_encoder_get_type :: IO GType++type instance ParentTypes AudioEncoder = AudioEncoderParentTypes+type AudioEncoderParentTypes = '[Gst.Element, Gst.Object, GObject.Object, Gst.Preset]++instance GObject AudioEncoder where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_encoder_get_type+ ++class GObject o => AudioEncoderK o+instance (GObject o, IsDescendantOf AudioEncoder o) => AudioEncoderK o++toAudioEncoder :: AudioEncoderK o => o -> IO AudioEncoder+toAudioEncoder = unsafeCastTo AudioEncoder++noAudioEncoder :: Maybe AudioEncoder+noAudioEncoder = Nothing++type family ResolveAudioEncoderMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioEncoderMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioEncoderMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioEncoderMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioEncoderMethod "allocateOutputBuffer" o = AudioEncoderAllocateOutputBufferMethodInfo+ ResolveAudioEncoderMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioEncoderMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioEncoderMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioEncoderMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioEncoderMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioEncoderMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioEncoderMethod "deletePreset" o = Gst.PresetDeletePresetMethodInfo+ ResolveAudioEncoderMethod "finishFrame" o = AudioEncoderFinishFrameMethodInfo+ ResolveAudioEncoderMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioEncoderMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioEncoderMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioEncoderMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioEncoderMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioEncoderMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioEncoderMethod "isEditable" o = Gst.PresetIsEditableMethodInfo+ ResolveAudioEncoderMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioEncoderMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioEncoderMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioEncoderMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioEncoderMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioEncoderMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioEncoderMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioEncoderMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioEncoderMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioEncoderMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioEncoderMethod "loadPreset" o = Gst.PresetLoadPresetMethodInfo+ ResolveAudioEncoderMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioEncoderMethod "mergeTags" o = AudioEncoderMergeTagsMethodInfo+ ResolveAudioEncoderMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioEncoderMethod "negotiate" o = AudioEncoderNegotiateMethodInfo+ ResolveAudioEncoderMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioEncoderMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioEncoderMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioEncoderMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioEncoderMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioEncoderMethod "proxyGetcaps" o = AudioEncoderProxyGetcapsMethodInfo+ ResolveAudioEncoderMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioEncoderMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioEncoderMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioEncoderMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioEncoderMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioEncoderMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioEncoderMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioEncoderMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioEncoderMethod "renamePreset" o = Gst.PresetRenamePresetMethodInfo+ ResolveAudioEncoderMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioEncoderMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioEncoderMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioEncoderMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioEncoderMethod "savePreset" o = Gst.PresetSavePresetMethodInfo+ ResolveAudioEncoderMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioEncoderMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioEncoderMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioEncoderMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioEncoderMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioEncoderMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioEncoderMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioEncoderMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioEncoderMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioEncoderMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioEncoderMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioEncoderMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioEncoderMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioEncoderMethod "getAllocator" o = AudioEncoderGetAllocatorMethodInfo+ ResolveAudioEncoderMethod "getAudioInfo" o = AudioEncoderGetAudioInfoMethodInfo+ ResolveAudioEncoderMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioEncoderMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioEncoderMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioEncoderMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioEncoderMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioEncoderMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioEncoderMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioEncoderMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioEncoderMethod "getDrainable" o = AudioEncoderGetDrainableMethodInfo+ ResolveAudioEncoderMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioEncoderMethod "getFrameMax" o = AudioEncoderGetFrameMaxMethodInfo+ ResolveAudioEncoderMethod "getFrameSamplesMax" o = AudioEncoderGetFrameSamplesMaxMethodInfo+ ResolveAudioEncoderMethod "getFrameSamplesMin" o = AudioEncoderGetFrameSamplesMinMethodInfo+ ResolveAudioEncoderMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioEncoderMethod "getHardMin" o = AudioEncoderGetHardMinMethodInfo+ ResolveAudioEncoderMethod "getHardResync" o = AudioEncoderGetHardResyncMethodInfo+ ResolveAudioEncoderMethod "getLatency" o = AudioEncoderGetLatencyMethodInfo+ ResolveAudioEncoderMethod "getLookahead" o = AudioEncoderGetLookaheadMethodInfo+ ResolveAudioEncoderMethod "getMarkGranule" o = AudioEncoderGetMarkGranuleMethodInfo+ ResolveAudioEncoderMethod "getMeta" o = Gst.PresetGetMetaMethodInfo+ ResolveAudioEncoderMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioEncoderMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioEncoderMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioEncoderMethod "getPerfectTimestamp" o = AudioEncoderGetPerfectTimestampMethodInfo+ ResolveAudioEncoderMethod "getPresetNames" o = Gst.PresetGetPresetNamesMethodInfo+ ResolveAudioEncoderMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioEncoderMethod "getPropertyNames" o = Gst.PresetGetPropertyNamesMethodInfo+ ResolveAudioEncoderMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioEncoderMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioEncoderMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioEncoderMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioEncoderMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioEncoderMethod "getTolerance" o = AudioEncoderGetToleranceMethodInfo+ ResolveAudioEncoderMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioEncoderMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioEncoderMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioEncoderMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioEncoderMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioEncoderMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioEncoderMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioEncoderMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioEncoderMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioEncoderMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioEncoderMethod "setDrainable" o = AudioEncoderSetDrainableMethodInfo+ ResolveAudioEncoderMethod "setFrameMax" o = AudioEncoderSetFrameMaxMethodInfo+ ResolveAudioEncoderMethod "setFrameSamplesMax" o = AudioEncoderSetFrameSamplesMaxMethodInfo+ ResolveAudioEncoderMethod "setFrameSamplesMin" o = AudioEncoderSetFrameSamplesMinMethodInfo+ ResolveAudioEncoderMethod "setHardMin" o = AudioEncoderSetHardMinMethodInfo+ ResolveAudioEncoderMethod "setHardResync" o = AudioEncoderSetHardResyncMethodInfo+ ResolveAudioEncoderMethod "setHeaders" o = AudioEncoderSetHeadersMethodInfo+ ResolveAudioEncoderMethod "setLatency" o = AudioEncoderSetLatencyMethodInfo+ ResolveAudioEncoderMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioEncoderMethod "setLookahead" o = AudioEncoderSetLookaheadMethodInfo+ ResolveAudioEncoderMethod "setMarkGranule" o = AudioEncoderSetMarkGranuleMethodInfo+ ResolveAudioEncoderMethod "setMeta" o = Gst.PresetSetMetaMethodInfo+ ResolveAudioEncoderMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioEncoderMethod "setOutputFormat" o = AudioEncoderSetOutputFormatMethodInfo+ ResolveAudioEncoderMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioEncoderMethod "setPerfectTimestamp" o = AudioEncoderSetPerfectTimestampMethodInfo+ ResolveAudioEncoderMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioEncoderMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioEncoderMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioEncoderMethod "setTolerance" o = AudioEncoderSetToleranceMethodInfo+ ResolveAudioEncoderMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioEncoderMethod t AudioEncoder, MethodInfo info AudioEncoder p) => IsLabelProxy t (AudioEncoder -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioEncoderMethod t AudioEncoder, MethodInfo info AudioEncoder p) => IsLabel t (AudioEncoder -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++-- VVV Prop "hard-resync"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioEncoderHardResync :: (MonadIO m, AudioEncoderK o) => o -> m Bool+getAudioEncoderHardResync obj = liftIO $ getObjectPropertyBool obj "hard-resync"++setAudioEncoderHardResync :: (MonadIO m, AudioEncoderK o) => o -> Bool -> m ()+setAudioEncoderHardResync obj val = liftIO $ setObjectPropertyBool obj "hard-resync" val++constructAudioEncoderHardResync :: Bool -> IO ([Char], GValue)+constructAudioEncoderHardResync val = constructObjectPropertyBool "hard-resync" val++data AudioEncoderHardResyncPropertyInfo+instance AttrInfo AudioEncoderHardResyncPropertyInfo where+ type AttrAllowedOps AudioEncoderHardResyncPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioEncoderHardResyncPropertyInfo = (~) Bool+ type AttrBaseTypeConstraint AudioEncoderHardResyncPropertyInfo = AudioEncoderK+ type AttrGetType AudioEncoderHardResyncPropertyInfo = Bool+ type AttrLabel AudioEncoderHardResyncPropertyInfo = "hard-resync"+ attrGet _ = getAudioEncoderHardResync+ attrSet _ = setAudioEncoderHardResync+ attrConstruct _ = constructAudioEncoderHardResync++-- VVV Prop "mark-granule"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable]++getAudioEncoderMarkGranule :: (MonadIO m, AudioEncoderK o) => o -> m Bool+getAudioEncoderMarkGranule obj = liftIO $ getObjectPropertyBool obj "mark-granule"++data AudioEncoderMarkGranulePropertyInfo+instance AttrInfo AudioEncoderMarkGranulePropertyInfo where+ type AttrAllowedOps AudioEncoderMarkGranulePropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint AudioEncoderMarkGranulePropertyInfo = (~) ()+ type AttrBaseTypeConstraint AudioEncoderMarkGranulePropertyInfo = AudioEncoderK+ type AttrGetType AudioEncoderMarkGranulePropertyInfo = Bool+ type AttrLabel AudioEncoderMarkGranulePropertyInfo = "mark-granule"+ attrGet _ = getAudioEncoderMarkGranule+ attrSet _ = undefined+ attrConstruct _ = undefined++-- VVV Prop "perfect-timestamp"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioEncoderPerfectTimestamp :: (MonadIO m, AudioEncoderK o) => o -> m Bool+getAudioEncoderPerfectTimestamp obj = liftIO $ getObjectPropertyBool obj "perfect-timestamp"++setAudioEncoderPerfectTimestamp :: (MonadIO m, AudioEncoderK o) => o -> Bool -> m ()+setAudioEncoderPerfectTimestamp obj val = liftIO $ setObjectPropertyBool obj "perfect-timestamp" val++constructAudioEncoderPerfectTimestamp :: Bool -> IO ([Char], GValue)+constructAudioEncoderPerfectTimestamp val = constructObjectPropertyBool "perfect-timestamp" val++data AudioEncoderPerfectTimestampPropertyInfo+instance AttrInfo AudioEncoderPerfectTimestampPropertyInfo where+ type AttrAllowedOps AudioEncoderPerfectTimestampPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioEncoderPerfectTimestampPropertyInfo = (~) Bool+ type AttrBaseTypeConstraint AudioEncoderPerfectTimestampPropertyInfo = AudioEncoderK+ type AttrGetType AudioEncoderPerfectTimestampPropertyInfo = Bool+ type AttrLabel AudioEncoderPerfectTimestampPropertyInfo = "perfect-timestamp"+ attrGet _ = getAudioEncoderPerfectTimestamp+ attrSet _ = setAudioEncoderPerfectTimestamp+ attrConstruct _ = constructAudioEncoderPerfectTimestamp++-- VVV Prop "tolerance"+ -- Type: TBasicType TInt64+ -- Flags: [PropertyReadable,PropertyWritable]++getAudioEncoderTolerance :: (MonadIO m, AudioEncoderK o) => o -> m Int64+getAudioEncoderTolerance obj = liftIO $ getObjectPropertyInt64 obj "tolerance"++setAudioEncoderTolerance :: (MonadIO m, AudioEncoderK o) => o -> Int64 -> m ()+setAudioEncoderTolerance obj val = liftIO $ setObjectPropertyInt64 obj "tolerance" val++constructAudioEncoderTolerance :: Int64 -> IO ([Char], GValue)+constructAudioEncoderTolerance val = constructObjectPropertyInt64 "tolerance" val++data AudioEncoderTolerancePropertyInfo+instance AttrInfo AudioEncoderTolerancePropertyInfo where+ type AttrAllowedOps AudioEncoderTolerancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint AudioEncoderTolerancePropertyInfo = (~) Int64+ type AttrBaseTypeConstraint AudioEncoderTolerancePropertyInfo = AudioEncoderK+ type AttrGetType AudioEncoderTolerancePropertyInfo = Int64+ type AttrLabel AudioEncoderTolerancePropertyInfo = "tolerance"+ attrGet _ = getAudioEncoderTolerance+ attrSet _ = setAudioEncoderTolerance+ attrConstruct _ = constructAudioEncoderTolerance++type instance AttributeList AudioEncoder = AudioEncoderAttributeList+type AudioEncoderAttributeList = ('[ '("hardResync", AudioEncoderHardResyncPropertyInfo), '("markGranule", AudioEncoderMarkGranulePropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("perfectTimestamp", AudioEncoderPerfectTimestampPropertyInfo), '("tolerance", AudioEncoderTolerancePropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioEncoder = AudioEncoderSignalList+type AudioEncoderSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++-- method AudioEncoder::allocate_output_buffer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_allocate_output_buffer" gst_audio_encoder_allocate_output_buffer :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Word64 -> -- size : TBasicType TUInt64+ IO (Ptr Gst.Buffer)+++audioEncoderAllocateOutputBuffer ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Word64 -- size+ -> m Gst.Buffer -- result+audioEncoderAllocateOutputBuffer _obj size = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_allocate_output_buffer _obj' size+ checkUnexpectedReturnNULL "gst_audio_encoder_allocate_output_buffer" result+ result' <- (wrapBoxed Gst.Buffer) result+ touchManagedPtr _obj+ return result'++data AudioEncoderAllocateOutputBufferMethodInfo+instance (signature ~ (Word64 -> m Gst.Buffer), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderAllocateOutputBufferMethodInfo a signature where+ overloadedMethod _ = audioEncoderAllocateOutputBuffer++-- method AudioEncoder::finish_frame+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "samples", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "FlowReturn"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_finish_frame" gst_audio_encoder_finish_frame :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr Gst.Buffer -> -- buffer : TInterface "Gst" "Buffer"+ Int32 -> -- samples : TBasicType TInt32+ IO CUInt+++audioEncoderFinishFrame ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Gst.Buffer -- buffer+ -> Int32 -- samples+ -> m Gst.FlowReturn -- result+audioEncoderFinishFrame _obj buffer samples = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let buffer' = unsafeManagedPtrGetPtr buffer+ result <- gst_audio_encoder_finish_frame _obj' buffer' samples+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr _obj+ touchManagedPtr buffer+ return result'++data AudioEncoderFinishFrameMethodInfo+instance (signature ~ (Gst.Buffer -> Int32 -> m Gst.FlowReturn), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderFinishFrameMethodInfo a signature where+ overloadedMethod _ = audioEncoderFinishFrame++-- method AudioEncoder::get_allocator+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface "Gst" "Allocator", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "params", argType = TInterface "Gst" "AllocationParams", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_allocator" gst_audio_encoder_get_allocator :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr (Ptr Gst.Allocator) -> -- allocator : TInterface "Gst" "Allocator"+ Ptr Gst.AllocationParams -> -- params : TInterface "Gst" "AllocationParams"+ IO ()+++audioEncoderGetAllocator ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m (Gst.Allocator,Gst.AllocationParams)-- result+audioEncoderGetAllocator _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator))+ params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams)+ gst_audio_encoder_get_allocator _obj' allocator params+ allocator' <- peek allocator+ allocator'' <- (wrapObject Gst.Allocator) allocator'+ params' <- (wrapBoxed Gst.AllocationParams) params+ touchManagedPtr _obj+ freeMem allocator+ return (allocator'', params')++data AudioEncoderGetAllocatorMethodInfo+instance (signature ~ (m (Gst.Allocator,Gst.AllocationParams)), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetAllocatorMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetAllocator++-- method AudioEncoder::get_audio_info+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioInfo"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_audio_info" gst_audio_encoder_get_audio_info :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO (Ptr AudioInfo)+++audioEncoderGetAudioInfo ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m AudioInfo -- result+audioEncoderGetAudioInfo _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_audio_info _obj'+ checkUnexpectedReturnNULL "gst_audio_encoder_get_audio_info" result+ result' <- (wrapBoxed AudioInfo) result+ touchManagedPtr _obj+ return result'++data AudioEncoderGetAudioInfoMethodInfo+instance (signature ~ (m AudioInfo), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetAudioInfoMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetAudioInfo++-- method AudioEncoder::get_drainable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_drainable" gst_audio_encoder_get_drainable :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO CInt+++audioEncoderGetDrainable ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Bool -- result+audioEncoderGetDrainable _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_drainable _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioEncoderGetDrainableMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetDrainableMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetDrainable++-- method AudioEncoder::get_frame_max+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_frame_max" gst_audio_encoder_get_frame_max :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO Int32+++audioEncoderGetFrameMax ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioEncoderGetFrameMax _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_frame_max _obj'+ touchManagedPtr _obj+ return result++data AudioEncoderGetFrameMaxMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetFrameMaxMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetFrameMax++-- method AudioEncoder::get_frame_samples_max+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_frame_samples_max" gst_audio_encoder_get_frame_samples_max :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO Int32+++audioEncoderGetFrameSamplesMax ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioEncoderGetFrameSamplesMax _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_frame_samples_max _obj'+ touchManagedPtr _obj+ return result++data AudioEncoderGetFrameSamplesMaxMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetFrameSamplesMaxMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetFrameSamplesMax++-- method AudioEncoder::get_frame_samples_min+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_frame_samples_min" gst_audio_encoder_get_frame_samples_min :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO Int32+++audioEncoderGetFrameSamplesMin ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioEncoderGetFrameSamplesMin _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_frame_samples_min _obj'+ touchManagedPtr _obj+ return result++data AudioEncoderGetFrameSamplesMinMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetFrameSamplesMinMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetFrameSamplesMin++-- method AudioEncoder::get_hard_min+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_hard_min" gst_audio_encoder_get_hard_min :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO CInt+++audioEncoderGetHardMin ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Bool -- result+audioEncoderGetHardMin _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_hard_min _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioEncoderGetHardMinMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetHardMinMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetHardMin++-- method AudioEncoder::get_hard_resync+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_hard_resync" gst_audio_encoder_get_hard_resync :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO CInt+++audioEncoderGetHardResync ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Bool -- result+audioEncoderGetHardResync _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_hard_resync _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioEncoderGetHardResyncMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetHardResyncMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetHardResync++-- method AudioEncoder::get_latency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "max", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_latency" gst_audio_encoder_get_latency :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr Word64 -> -- min : TBasicType TUInt64+ Ptr Word64 -> -- max : TBasicType TUInt64+ IO ()+++audioEncoderGetLatency ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m (Word64,Word64) -- result+audioEncoderGetLatency _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ min <- allocMem :: IO (Ptr Word64)+ max <- allocMem :: IO (Ptr Word64)+ gst_audio_encoder_get_latency _obj' min max+ min' <- peek min+ max' <- peek max+ touchManagedPtr _obj+ freeMem min+ freeMem max+ return (min', max')++data AudioEncoderGetLatencyMethodInfo+instance (signature ~ (m (Word64,Word64)), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetLatencyMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetLatency++-- method AudioEncoder::get_lookahead+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_lookahead" gst_audio_encoder_get_lookahead :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO Int32+++audioEncoderGetLookahead ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Int32 -- result+audioEncoderGetLookahead _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_lookahead _obj'+ touchManagedPtr _obj+ return result++data AudioEncoderGetLookaheadMethodInfo+instance (signature ~ (m Int32), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetLookaheadMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetLookahead++-- method AudioEncoder::get_mark_granule+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_mark_granule" gst_audio_encoder_get_mark_granule :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO CInt+++audioEncoderGetMarkGranule ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Bool -- result+audioEncoderGetMarkGranule _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_mark_granule _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioEncoderGetMarkGranuleMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetMarkGranuleMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetMarkGranule++-- method AudioEncoder::get_perfect_timestamp+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_perfect_timestamp" gst_audio_encoder_get_perfect_timestamp :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO CInt+++audioEncoderGetPerfectTimestamp ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Bool -- result+audioEncoderGetPerfectTimestamp _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_perfect_timestamp _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioEncoderGetPerfectTimestampMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetPerfectTimestampMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetPerfectTimestamp++-- method AudioEncoder::get_tolerance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_get_tolerance" gst_audio_encoder_get_tolerance :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO Word64+++audioEncoderGetTolerance ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Word64 -- result+audioEncoderGetTolerance _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_get_tolerance _obj'+ touchManagedPtr _obj+ return result++data AudioEncoderGetToleranceMethodInfo+instance (signature ~ (m Word64), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderGetToleranceMethodInfo a signature where+ overloadedMethod _ = audioEncoderGetTolerance++-- method AudioEncoder::merge_tags+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface "Gst" "TagList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface "Gst" "TagMergeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_merge_tags" gst_audio_encoder_merge_tags :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr Gst.TagList -> -- tags : TInterface "Gst" "TagList"+ CUInt -> -- mode : TInterface "Gst" "TagMergeMode"+ IO ()+++audioEncoderMergeTags ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Maybe (Gst.TagList) -- tags+ -> Gst.TagMergeMode -- mode+ -> m () -- result+audioEncoderMergeTags _obj tags mode = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ maybeTags <- case tags of+ Nothing -> return nullPtr+ Just jTags -> do+ let jTags' = unsafeManagedPtrGetPtr jTags+ return jTags'+ let mode' = (fromIntegral . fromEnum) mode+ gst_audio_encoder_merge_tags _obj' maybeTags mode'+ touchManagedPtr _obj+ whenJust tags touchManagedPtr+ return ()++data AudioEncoderMergeTagsMethodInfo+instance (signature ~ (Maybe (Gst.TagList) -> Gst.TagMergeMode -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderMergeTagsMethodInfo a signature where+ overloadedMethod _ = audioEncoderMergeTags++-- method AudioEncoder::negotiate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_negotiate" gst_audio_encoder_negotiate :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ IO CInt+++audioEncoderNegotiate ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> m Bool -- result+audioEncoderNegotiate _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_encoder_negotiate _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioEncoderNegotiateMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderNegotiateMethodInfo a signature where+ overloadedMethod _ = audioEncoderNegotiate++-- method AudioEncoder::proxy_getcaps+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "Caps"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_proxy_getcaps" gst_audio_encoder_proxy_getcaps :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr Gst.Caps -> -- caps : TInterface "Gst" "Caps"+ Ptr Gst.Caps -> -- filter : TInterface "Gst" "Caps"+ IO (Ptr Gst.Caps)+++audioEncoderProxyGetcaps ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Maybe (Gst.Caps) -- caps+ -> Maybe (Gst.Caps) -- filter+ -> m Gst.Caps -- result+audioEncoderProxyGetcaps _obj caps filter = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ maybeCaps <- case caps of+ Nothing -> return nullPtr+ Just jCaps -> do+ let jCaps' = unsafeManagedPtrGetPtr jCaps+ return jCaps'+ maybeFilter <- case filter of+ Nothing -> return nullPtr+ Just jFilter -> do+ let jFilter' = unsafeManagedPtrGetPtr jFilter+ return jFilter'+ result <- gst_audio_encoder_proxy_getcaps _obj' maybeCaps maybeFilter+ checkUnexpectedReturnNULL "gst_audio_encoder_proxy_getcaps" result+ result' <- (wrapBoxed Gst.Caps) result+ touchManagedPtr _obj+ whenJust caps touchManagedPtr+ whenJust filter touchManagedPtr+ return result'++data AudioEncoderProxyGetcapsMethodInfo+instance (signature ~ (Maybe (Gst.Caps) -> Maybe (Gst.Caps) -> m Gst.Caps), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderProxyGetcapsMethodInfo a signature where+ overloadedMethod _ = audioEncoderProxyGetcaps++-- method AudioEncoder::set_drainable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_drainable" gst_audio_encoder_set_drainable :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioEncoderSetDrainable ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioEncoderSetDrainable _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_encoder_set_drainable _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioEncoderSetDrainableMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetDrainableMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetDrainable++-- method AudioEncoder::set_frame_max+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_frame_max" gst_audio_encoder_set_frame_max :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Int32 -> -- num : TBasicType TInt32+ IO ()+++audioEncoderSetFrameMax ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Int32 -- num+ -> m () -- result+audioEncoderSetFrameMax _obj num = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_encoder_set_frame_max _obj' num+ touchManagedPtr _obj+ return ()++data AudioEncoderSetFrameMaxMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetFrameMaxMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetFrameMax++-- method AudioEncoder::set_frame_samples_max+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_frame_samples_max" gst_audio_encoder_set_frame_samples_max :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Int32 -> -- num : TBasicType TInt32+ IO ()+++audioEncoderSetFrameSamplesMax ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Int32 -- num+ -> m () -- result+audioEncoderSetFrameSamplesMax _obj num = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_encoder_set_frame_samples_max _obj' num+ touchManagedPtr _obj+ return ()++data AudioEncoderSetFrameSamplesMaxMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetFrameSamplesMaxMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetFrameSamplesMax++-- method AudioEncoder::set_frame_samples_min+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_frame_samples_min" gst_audio_encoder_set_frame_samples_min :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Int32 -> -- num : TBasicType TInt32+ IO ()+++audioEncoderSetFrameSamplesMin ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Int32 -- num+ -> m () -- result+audioEncoderSetFrameSamplesMin _obj num = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_encoder_set_frame_samples_min _obj' num+ touchManagedPtr _obj+ return ()++data AudioEncoderSetFrameSamplesMinMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetFrameSamplesMinMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetFrameSamplesMin++-- method AudioEncoder::set_hard_min+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_hard_min" gst_audio_encoder_set_hard_min :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioEncoderSetHardMin ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioEncoderSetHardMin _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_encoder_set_hard_min _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioEncoderSetHardMinMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetHardMinMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetHardMin++-- method AudioEncoder::set_hard_resync+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_hard_resync" gst_audio_encoder_set_hard_resync :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioEncoderSetHardResync ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioEncoderSetHardResync _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_encoder_set_hard_resync _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioEncoderSetHardResyncMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetHardResyncMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetHardResync++-- method AudioEncoder::set_headers+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "headers", argType = TGList (TInterface "Gst" "Buffer"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_headers" gst_audio_encoder_set_headers :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr (GList (Ptr Gst.Buffer)) -> -- headers : TGList (TInterface "Gst" "Buffer")+ IO ()+++audioEncoderSetHeaders ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> [Gst.Buffer] -- headers+ -> m () -- result+audioEncoderSetHeaders _obj headers = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ headers' <- mapM copyBoxed headers+ headers'' <- packGList headers'+ gst_audio_encoder_set_headers _obj' headers''+ touchManagedPtr _obj+ mapM_ touchManagedPtr headers+ return ()++data AudioEncoderSetHeadersMethodInfo+instance (signature ~ ([Gst.Buffer] -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetHeadersMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetHeaders++-- method AudioEncoder::set_latency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_latency" gst_audio_encoder_set_latency :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Word64 -> -- min : TBasicType TUInt64+ Word64 -> -- max : TBasicType TUInt64+ IO ()+++audioEncoderSetLatency ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Word64 -- min+ -> Word64 -- max+ -> m () -- result+audioEncoderSetLatency _obj min max = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_encoder_set_latency _obj' min max+ touchManagedPtr _obj+ return ()++data AudioEncoderSetLatencyMethodInfo+instance (signature ~ (Word64 -> Word64 -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetLatencyMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetLatency++-- method AudioEncoder::set_lookahead+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_lookahead" gst_audio_encoder_set_lookahead :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Int32 -> -- num : TBasicType TInt32+ IO ()+++audioEncoderSetLookahead ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Int32 -- num+ -> m () -- result+audioEncoderSetLookahead _obj num = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_encoder_set_lookahead _obj' num+ touchManagedPtr _obj+ return ()++data AudioEncoderSetLookaheadMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetLookaheadMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetLookahead++-- method AudioEncoder::set_mark_granule+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_mark_granule" gst_audio_encoder_set_mark_granule :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioEncoderSetMarkGranule ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioEncoderSetMarkGranule _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_encoder_set_mark_granule _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioEncoderSetMarkGranuleMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetMarkGranuleMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetMarkGranule++-- method AudioEncoder::set_output_format+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_output_format" gst_audio_encoder_set_output_format :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Ptr Gst.Caps -> -- caps : TInterface "Gst" "Caps"+ IO CInt+++audioEncoderSetOutputFormat ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Gst.Caps -- caps+ -> m Bool -- result+audioEncoderSetOutputFormat _obj caps = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let caps' = unsafeManagedPtrGetPtr caps+ result <- gst_audio_encoder_set_output_format _obj' caps'+ let result' = (/= 0) result+ touchManagedPtr _obj+ touchManagedPtr caps+ return result'++data AudioEncoderSetOutputFormatMethodInfo+instance (signature ~ (Gst.Caps -> m Bool), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetOutputFormatMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetOutputFormat++-- method AudioEncoder::set_perfect_timestamp+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_perfect_timestamp" gst_audio_encoder_set_perfect_timestamp :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ CInt -> -- enabled : TBasicType TBoolean+ IO ()+++audioEncoderSetPerfectTimestamp ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Bool -- enabled+ -> m () -- result+audioEncoderSetPerfectTimestamp _obj enabled = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let enabled' = (fromIntegral . fromEnum) enabled+ gst_audio_encoder_set_perfect_timestamp _obj' enabled'+ touchManagedPtr _obj+ return ()++data AudioEncoderSetPerfectTimestampMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetPerfectTimestampMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetPerfectTimestamp++-- method AudioEncoder::set_tolerance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioEncoder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tolerance", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_encoder_set_tolerance" gst_audio_encoder_set_tolerance :: + Ptr AudioEncoder -> -- _obj : TInterface "GstAudio" "AudioEncoder"+ Word64 -> -- tolerance : TBasicType TUInt64+ IO ()+++audioEncoderSetTolerance ::+ (MonadIO m, AudioEncoderK a) =>+ a -- _obj+ -> Word64 -- tolerance+ -> m () -- result+audioEncoderSetTolerance _obj tolerance = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_encoder_set_tolerance _obj' tolerance+ touchManagedPtr _obj+ return ()++data AudioEncoderSetToleranceMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioEncoderK a) => MethodInfo AudioEncoderSetToleranceMethodInfo a signature where+ overloadedMethod _ = audioEncoderSetTolerance++
+ GI/GstAudio/Objects/AudioEncoder.hs-boot view
@@ -0,0 +1,48 @@+module GI.GstAudio.Objects.AudioEncoder where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioEncoder = AudioEncoder (ForeignPtr AudioEncoder)+instance GObject AudioEncoder where+class GObject o => AudioEncoderK o+instance (GObject o, IsDescendantOf AudioEncoder o) => AudioEncoderK o+data AudioEncoderHardResyncPropertyInfo+data AudioEncoderMarkGranulePropertyInfo+data AudioEncoderPerfectTimestampPropertyInfo+data AudioEncoderTolerancePropertyInfo+data AudioEncoderAllocateOutputBufferMethodInfo+data AudioEncoderFinishFrameMethodInfo+data AudioEncoderGetAllocatorMethodInfo+data AudioEncoderGetAudioInfoMethodInfo+data AudioEncoderGetDrainableMethodInfo+data AudioEncoderGetFrameMaxMethodInfo+data AudioEncoderGetFrameSamplesMaxMethodInfo+data AudioEncoderGetFrameSamplesMinMethodInfo+data AudioEncoderGetHardMinMethodInfo+data AudioEncoderGetHardResyncMethodInfo+data AudioEncoderGetLatencyMethodInfo+data AudioEncoderGetLookaheadMethodInfo+data AudioEncoderGetMarkGranuleMethodInfo+data AudioEncoderGetPerfectTimestampMethodInfo+data AudioEncoderGetToleranceMethodInfo+data AudioEncoderMergeTagsMethodInfo+data AudioEncoderNegotiateMethodInfo+data AudioEncoderProxyGetcapsMethodInfo+data AudioEncoderSetDrainableMethodInfo+data AudioEncoderSetFrameMaxMethodInfo+data AudioEncoderSetFrameSamplesMaxMethodInfo+data AudioEncoderSetFrameSamplesMinMethodInfo+data AudioEncoderSetHardMinMethodInfo+data AudioEncoderSetHardResyncMethodInfo+data AudioEncoderSetHeadersMethodInfo+data AudioEncoderSetLatencyMethodInfo+data AudioEncoderSetLookaheadMethodInfo+data AudioEncoderSetMarkGranuleMethodInfo+data AudioEncoderSetOutputFormatMethodInfo+data AudioEncoderSetPerfectTimestampMethodInfo+data AudioEncoderSetToleranceMethodInfo
+ GI/GstAudio/Objects/AudioFilter.hs view
@@ -0,0 +1,178 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioFilter+ ( ++-- * Exported types+ AudioFilter(..) ,+ AudioFilterK ,+ toAudioFilter ,+ noAudioFilter ,+++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst+import qualified GI.GstBase as GstBase++newtype AudioFilter = AudioFilter (ForeignPtr AudioFilter)+foreign import ccall "gst_audio_filter_get_type"+ c_gst_audio_filter_get_type :: IO GType++type instance ParentTypes AudioFilter = AudioFilterParentTypes+type AudioFilterParentTypes = '[GstBase.BaseTransform, Gst.Element, Gst.Object, GObject.Object]++instance GObject AudioFilter where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_filter_get_type+ ++class GObject o => AudioFilterK o+instance (GObject o, IsDescendantOf AudioFilter o) => AudioFilterK o++toAudioFilter :: AudioFilterK o => o -> IO AudioFilter+toAudioFilter = unsafeCastTo AudioFilter++noAudioFilter :: Maybe AudioFilter+noAudioFilter = Nothing++type family ResolveAudioFilterMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioFilterMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioFilterMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioFilterMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioFilterMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioFilterMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioFilterMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioFilterMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioFilterMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioFilterMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioFilterMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioFilterMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioFilterMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioFilterMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioFilterMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioFilterMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioFilterMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioFilterMethod "isInPlace" o = GstBase.BaseTransformIsInPlaceMethodInfo+ ResolveAudioFilterMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioFilterMethod "isPassthrough" o = GstBase.BaseTransformIsPassthroughMethodInfo+ ResolveAudioFilterMethod "isQosEnabled" o = GstBase.BaseTransformIsQosEnabledMethodInfo+ ResolveAudioFilterMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioFilterMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioFilterMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioFilterMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioFilterMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioFilterMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioFilterMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioFilterMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioFilterMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioFilterMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioFilterMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioFilterMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioFilterMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioFilterMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioFilterMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioFilterMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioFilterMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioFilterMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioFilterMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioFilterMethod "reconfigureSink" o = GstBase.BaseTransformReconfigureSinkMethodInfo+ ResolveAudioFilterMethod "reconfigureSrc" o = GstBase.BaseTransformReconfigureSrcMethodInfo+ ResolveAudioFilterMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioFilterMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioFilterMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioFilterMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioFilterMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioFilterMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioFilterMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioFilterMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioFilterMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioFilterMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioFilterMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioFilterMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioFilterMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioFilterMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioFilterMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioFilterMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioFilterMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioFilterMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioFilterMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioFilterMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioFilterMethod "updateQos" o = GstBase.BaseTransformUpdateQosMethodInfo+ ResolveAudioFilterMethod "updateSrcCaps" o = GstBase.BaseTransformUpdateSrcCapsMethodInfo+ ResolveAudioFilterMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioFilterMethod "getAllocator" o = GstBase.BaseTransformGetAllocatorMethodInfo+ ResolveAudioFilterMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioFilterMethod "getBufferPool" o = GstBase.BaseTransformGetBufferPoolMethodInfo+ ResolveAudioFilterMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioFilterMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioFilterMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioFilterMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioFilterMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioFilterMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioFilterMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioFilterMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioFilterMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioFilterMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioFilterMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioFilterMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioFilterMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioFilterMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioFilterMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioFilterMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioFilterMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioFilterMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioFilterMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioFilterMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioFilterMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioFilterMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioFilterMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioFilterMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioFilterMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioFilterMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioFilterMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioFilterMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioFilterMethod "setGapAware" o = GstBase.BaseTransformSetGapAwareMethodInfo+ ResolveAudioFilterMethod "setInPlace" o = GstBase.BaseTransformSetInPlaceMethodInfo+ ResolveAudioFilterMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioFilterMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioFilterMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioFilterMethod "setPassthrough" o = GstBase.BaseTransformSetPassthroughMethodInfo+ ResolveAudioFilterMethod "setPreferPassthrough" o = GstBase.BaseTransformSetPreferPassthroughMethodInfo+ ResolveAudioFilterMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioFilterMethod "setQosEnabled" o = GstBase.BaseTransformSetQosEnabledMethodInfo+ ResolveAudioFilterMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioFilterMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioFilterMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioFilterMethod t AudioFilter, MethodInfo info AudioFilter p) => IsLabelProxy t (AudioFilter -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioFilterMethod t AudioFilter, MethodInfo info AudioFilter p) => IsLabel t (AudioFilter -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++type instance AttributeList AudioFilter = AudioFilterAttributeList+type AudioFilterAttributeList = ('[ '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("qos", GstBase.BaseTransformQosPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioFilter = AudioFilterSignalList+type AudioFilterSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++
+ GI/GstAudio/Objects/AudioFilter.hs-boot view
@@ -0,0 +1,13 @@+module GI.GstAudio.Objects.AudioFilter where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioFilter = AudioFilter (ForeignPtr AudioFilter)+instance GObject AudioFilter where+class GObject o => AudioFilterK o+instance (GObject o, IsDescendantOf AudioFilter o) => AudioFilterK o
+ GI/GstAudio/Objects/AudioRingBuffer.hs view
@@ -0,0 +1,1175 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioRingBuffer+ ( ++-- * Exported types+ AudioRingBuffer(..) ,+ AudioRingBufferK ,+ toAudioRingBuffer ,+ noAudioRingBuffer ,+++ -- * Methods+-- ** audioRingBufferAcquire+ AudioRingBufferAcquireMethodInfo ,+ audioRingBufferAcquire ,+++-- ** audioRingBufferActivate+ AudioRingBufferActivateMethodInfo ,+ audioRingBufferActivate ,+++-- ** audioRingBufferAdvance+ AudioRingBufferAdvanceMethodInfo ,+ audioRingBufferAdvance ,+++-- ** audioRingBufferClear+ AudioRingBufferClearMethodInfo ,+ audioRingBufferClear ,+++-- ** audioRingBufferClearAll+ AudioRingBufferClearAllMethodInfo ,+ audioRingBufferClearAll ,+++-- ** audioRingBufferCloseDevice+ AudioRingBufferCloseDeviceMethodInfo ,+ audioRingBufferCloseDevice ,+++-- ** audioRingBufferCommit+ AudioRingBufferCommitMethodInfo ,+ audioRingBufferCommit ,+++-- ** audioRingBufferConvert+ AudioRingBufferConvertMethodInfo ,+ audioRingBufferConvert ,+++-- ** audioRingBufferDebugSpecBuff+ audioRingBufferDebugSpecBuff ,+++-- ** audioRingBufferDebugSpecCaps+ audioRingBufferDebugSpecCaps ,+++-- ** audioRingBufferDelay+ AudioRingBufferDelayMethodInfo ,+ audioRingBufferDelay ,+++-- ** audioRingBufferDeviceIsOpen+ AudioRingBufferDeviceIsOpenMethodInfo ,+ audioRingBufferDeviceIsOpen ,+++-- ** audioRingBufferIsAcquired+ AudioRingBufferIsAcquiredMethodInfo ,+ audioRingBufferIsAcquired ,+++-- ** audioRingBufferIsActive+ AudioRingBufferIsActiveMethodInfo ,+ audioRingBufferIsActive ,+++-- ** audioRingBufferIsFlushing+ AudioRingBufferIsFlushingMethodInfo ,+ audioRingBufferIsFlushing ,+++-- ** audioRingBufferMayStart+ AudioRingBufferMayStartMethodInfo ,+ audioRingBufferMayStart ,+++-- ** audioRingBufferOpenDevice+ AudioRingBufferOpenDeviceMethodInfo ,+ audioRingBufferOpenDevice ,+++-- ** audioRingBufferParseCaps+ audioRingBufferParseCaps ,+++-- ** audioRingBufferPause+ AudioRingBufferPauseMethodInfo ,+ audioRingBufferPause ,+++-- ** audioRingBufferPrepareRead+ AudioRingBufferPrepareReadMethodInfo ,+ audioRingBufferPrepareRead ,+++-- ** audioRingBufferRead+ AudioRingBufferReadMethodInfo ,+ audioRingBufferRead ,+++-- ** audioRingBufferRelease+ AudioRingBufferReleaseMethodInfo ,+ audioRingBufferRelease ,+++-- ** audioRingBufferSamplesDone+ AudioRingBufferSamplesDoneMethodInfo ,+ audioRingBufferSamplesDone ,+++-- ** audioRingBufferSetCallback+ AudioRingBufferSetCallbackMethodInfo ,+ audioRingBufferSetCallback ,+++-- ** audioRingBufferSetChannelPositions+ AudioRingBufferSetChannelPositionsMethodInfo,+ audioRingBufferSetChannelPositions ,+++-- ** audioRingBufferSetFlushing+ AudioRingBufferSetFlushingMethodInfo ,+ audioRingBufferSetFlushing ,+++-- ** audioRingBufferSetSample+ AudioRingBufferSetSampleMethodInfo ,+ audioRingBufferSetSample ,+++-- ** audioRingBufferSetTimestamp+ AudioRingBufferSetTimestampMethodInfo ,+ audioRingBufferSetTimestamp ,+++-- ** audioRingBufferStart+ AudioRingBufferStartMethodInfo ,+ audioRingBufferStart ,+++-- ** audioRingBufferStop+ AudioRingBufferStopMethodInfo ,+ audioRingBufferStop ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst++newtype AudioRingBuffer = AudioRingBuffer (ForeignPtr AudioRingBuffer)+foreign import ccall "gst_audio_ring_buffer_get_type"+ c_gst_audio_ring_buffer_get_type :: IO GType++type instance ParentTypes AudioRingBuffer = AudioRingBufferParentTypes+type AudioRingBufferParentTypes = '[Gst.Object, GObject.Object]++instance GObject AudioRingBuffer where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_ring_buffer_get_type+ ++class GObject o => AudioRingBufferK o+instance (GObject o, IsDescendantOf AudioRingBuffer o) => AudioRingBufferK o++toAudioRingBuffer :: AudioRingBufferK o => o -> IO AudioRingBuffer+toAudioRingBuffer = unsafeCastTo AudioRingBuffer++noAudioRingBuffer :: Maybe AudioRingBuffer+noAudioRingBuffer = Nothing++type family ResolveAudioRingBufferMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioRingBufferMethod "acquire" o = AudioRingBufferAcquireMethodInfo+ ResolveAudioRingBufferMethod "activate" o = AudioRingBufferActivateMethodInfo+ ResolveAudioRingBufferMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioRingBufferMethod "advance" o = AudioRingBufferAdvanceMethodInfo+ ResolveAudioRingBufferMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioRingBufferMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioRingBufferMethod "clear" o = AudioRingBufferClearMethodInfo+ ResolveAudioRingBufferMethod "clearAll" o = AudioRingBufferClearAllMethodInfo+ ResolveAudioRingBufferMethod "closeDevice" o = AudioRingBufferCloseDeviceMethodInfo+ ResolveAudioRingBufferMethod "commit" o = AudioRingBufferCommitMethodInfo+ ResolveAudioRingBufferMethod "convert" o = AudioRingBufferConvertMethodInfo+ ResolveAudioRingBufferMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioRingBufferMethod "delay" o = AudioRingBufferDelayMethodInfo+ ResolveAudioRingBufferMethod "deviceIsOpen" o = AudioRingBufferDeviceIsOpenMethodInfo+ ResolveAudioRingBufferMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioRingBufferMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioRingBufferMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioRingBufferMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioRingBufferMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioRingBufferMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioRingBufferMethod "isAcquired" o = AudioRingBufferIsAcquiredMethodInfo+ ResolveAudioRingBufferMethod "isActive" o = AudioRingBufferIsActiveMethodInfo+ ResolveAudioRingBufferMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioRingBufferMethod "isFlushing" o = AudioRingBufferIsFlushingMethodInfo+ ResolveAudioRingBufferMethod "mayStart" o = AudioRingBufferMayStartMethodInfo+ ResolveAudioRingBufferMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioRingBufferMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioRingBufferMethod "openDevice" o = AudioRingBufferOpenDeviceMethodInfo+ ResolveAudioRingBufferMethod "pause" o = AudioRingBufferPauseMethodInfo+ ResolveAudioRingBufferMethod "prepareRead" o = AudioRingBufferPrepareReadMethodInfo+ ResolveAudioRingBufferMethod "read" o = AudioRingBufferReadMethodInfo+ ResolveAudioRingBufferMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioRingBufferMethod "release" o = AudioRingBufferReleaseMethodInfo+ ResolveAudioRingBufferMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioRingBufferMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioRingBufferMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioRingBufferMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioRingBufferMethod "samplesDone" o = AudioRingBufferSamplesDoneMethodInfo+ ResolveAudioRingBufferMethod "start" o = AudioRingBufferStartMethodInfo+ ResolveAudioRingBufferMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioRingBufferMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioRingBufferMethod "stop" o = AudioRingBufferStopMethodInfo+ ResolveAudioRingBufferMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioRingBufferMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioRingBufferMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioRingBufferMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioRingBufferMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioRingBufferMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioRingBufferMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioRingBufferMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioRingBufferMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioRingBufferMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioRingBufferMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioRingBufferMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioRingBufferMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioRingBufferMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioRingBufferMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioRingBufferMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioRingBufferMethod "setCallback" o = AudioRingBufferSetCallbackMethodInfo+ ResolveAudioRingBufferMethod "setChannelPositions" o = AudioRingBufferSetChannelPositionsMethodInfo+ ResolveAudioRingBufferMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioRingBufferMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioRingBufferMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioRingBufferMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioRingBufferMethod "setFlushing" o = AudioRingBufferSetFlushingMethodInfo+ ResolveAudioRingBufferMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioRingBufferMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioRingBufferMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioRingBufferMethod "setSample" o = AudioRingBufferSetSampleMethodInfo+ ResolveAudioRingBufferMethod "setTimestamp" o = AudioRingBufferSetTimestampMethodInfo+ ResolveAudioRingBufferMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioRingBufferMethod t AudioRingBuffer, MethodInfo info AudioRingBuffer p) => IsLabelProxy t (AudioRingBuffer -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioRingBufferMethod t AudioRingBuffer, MethodInfo info AudioRingBuffer p) => IsLabel t (AudioRingBuffer -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++type instance AttributeList AudioRingBuffer = AudioRingBufferAttributeList+type AudioRingBufferAttributeList = ('[ '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioRingBuffer = AudioRingBufferSignalList+type AudioRingBufferSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method AudioRingBuffer::acquire+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spec", argType = TInterface "GstAudio" "AudioRingBufferSpec", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_acquire" gst_audio_ring_buffer_acquire :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Ptr AudioRingBufferSpec -> -- spec : TInterface "GstAudio" "AudioRingBufferSpec"+ IO CInt+++audioRingBufferAcquire ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> AudioRingBufferSpec -- spec+ -> m Bool -- result+audioRingBufferAcquire _obj spec = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let spec' = unsafeManagedPtrGetPtr spec+ result <- gst_audio_ring_buffer_acquire _obj' spec'+ let result' = (/= 0) result+ touchManagedPtr _obj+ touchManagedPtr spec+ return result'++data AudioRingBufferAcquireMethodInfo+instance (signature ~ (AudioRingBufferSpec -> m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferAcquireMethodInfo a signature where+ overloadedMethod _ = audioRingBufferAcquire++-- method AudioRingBuffer::activate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_activate" gst_audio_ring_buffer_activate :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ CInt -> -- active : TBasicType TBoolean+ IO CInt+++audioRingBufferActivate ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Bool -- active+ -> m Bool -- result+audioRingBufferActivate _obj active = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let active' = (fromIntegral . fromEnum) active+ result <- gst_audio_ring_buffer_activate _obj' active'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferActivateMethodInfo+instance (signature ~ (Bool -> m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferActivateMethodInfo a signature where+ overloadedMethod _ = audioRingBufferActivate++-- method AudioRingBuffer::advance+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "advance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_advance" gst_audio_ring_buffer_advance :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Word32 -> -- advance : TBasicType TUInt32+ IO ()+++audioRingBufferAdvance ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Word32 -- advance+ -> m () -- result+audioRingBufferAdvance _obj advance = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_ring_buffer_advance _obj' advance+ touchManagedPtr _obj+ return ()++data AudioRingBufferAdvanceMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferAdvanceMethodInfo a signature where+ overloadedMethod _ = audioRingBufferAdvance++-- method AudioRingBuffer::clear+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_clear" gst_audio_ring_buffer_clear :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Int32 -> -- segment : TBasicType TInt32+ IO ()+++audioRingBufferClear ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Int32 -- segment+ -> m () -- result+audioRingBufferClear _obj segment = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_ring_buffer_clear _obj' segment+ touchManagedPtr _obj+ return ()++data AudioRingBufferClearMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferClearMethodInfo a signature where+ overloadedMethod _ = audioRingBufferClear++-- method AudioRingBuffer::clear_all+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_clear_all" gst_audio_ring_buffer_clear_all :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO ()+++audioRingBufferClearAll ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m () -- result+audioRingBufferClearAll _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_ring_buffer_clear_all _obj'+ touchManagedPtr _obj+ return ()++data AudioRingBufferClearAllMethodInfo+instance (signature ~ (m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferClearAllMethodInfo a signature where+ overloadedMethod _ = audioRingBufferClearAll++-- method AudioRingBuffer::close_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_close_device" gst_audio_ring_buffer_close_device :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferCloseDevice ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferCloseDevice _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_close_device _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferCloseDeviceMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferCloseDeviceMethodInfo a signature where+ overloadedMethod _ = audioRingBufferCloseDevice++-- method AudioRingBuffer::commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sample", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "in_samples", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_samples", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accum", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_commit" gst_audio_ring_buffer_commit :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Word64 -> -- sample : TBasicType TUInt64+ Word8 -> -- data : TBasicType TUInt8+ Int32 -> -- in_samples : TBasicType TInt32+ Int32 -> -- out_samples : TBasicType TInt32+ Int32 -> -- accum : TBasicType TInt32+ IO Word32+++audioRingBufferCommit ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Word64 -- sample+ -> Word8 -- data_+ -> Int32 -- inSamples+ -> Int32 -- outSamples+ -> Int32 -- accum+ -> m Word32 -- result+audioRingBufferCommit _obj sample data_ inSamples outSamples accum = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_commit _obj' sample data_ inSamples outSamples accum+ touchManagedPtr _obj+ return result++data AudioRingBufferCommitMethodInfo+instance (signature ~ (Word64 -> Word8 -> Int32 -> Int32 -> Int32 -> m Word32), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferCommitMethodInfo a signature where+ overloadedMethod _ = audioRingBufferCommit++-- method AudioRingBuffer::convert+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_fmt", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_fmt", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_convert" gst_audio_ring_buffer_convert :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ CUInt -> -- src_fmt : TInterface "Gst" "Format"+ Int64 -> -- src_val : TBasicType TInt64+ CUInt -> -- dest_fmt : TInterface "Gst" "Format"+ Int64 -> -- dest_val : TBasicType TInt64+ IO CInt+++audioRingBufferConvert ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Gst.Format -- srcFmt+ -> Int64 -- srcVal+ -> Gst.Format -- destFmt+ -> Int64 -- destVal+ -> m Bool -- result+audioRingBufferConvert _obj srcFmt srcVal destFmt destVal = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let srcFmt' = (fromIntegral . fromEnum) srcFmt+ let destFmt' = (fromIntegral . fromEnum) destFmt+ result <- gst_audio_ring_buffer_convert _obj' srcFmt' srcVal destFmt' destVal+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferConvertMethodInfo+instance (signature ~ (Gst.Format -> Int64 -> Gst.Format -> Int64 -> m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferConvertMethodInfo a signature where+ overloadedMethod _ = audioRingBufferConvert++-- method AudioRingBuffer::delay+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_delay" gst_audio_ring_buffer_delay :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO Word32+++audioRingBufferDelay ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Word32 -- result+audioRingBufferDelay _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_delay _obj'+ touchManagedPtr _obj+ return result++data AudioRingBufferDelayMethodInfo+instance (signature ~ (m Word32), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferDelayMethodInfo a signature where+ overloadedMethod _ = audioRingBufferDelay++-- method AudioRingBuffer::device_is_open+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_device_is_open" gst_audio_ring_buffer_device_is_open :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferDeviceIsOpen ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferDeviceIsOpen _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_device_is_open _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferDeviceIsOpenMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferDeviceIsOpenMethodInfo a signature where+ overloadedMethod _ = audioRingBufferDeviceIsOpen++-- method AudioRingBuffer::is_acquired+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_is_acquired" gst_audio_ring_buffer_is_acquired :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferIsAcquired ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferIsAcquired _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_is_acquired _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferIsAcquiredMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferIsAcquiredMethodInfo a signature where+ overloadedMethod _ = audioRingBufferIsAcquired++-- method AudioRingBuffer::is_active+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_is_active" gst_audio_ring_buffer_is_active :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferIsActive ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferIsActive _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_is_active _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferIsActiveMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferIsActiveMethodInfo a signature where+ overloadedMethod _ = audioRingBufferIsActive++-- method AudioRingBuffer::is_flushing+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_is_flushing" gst_audio_ring_buffer_is_flushing :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferIsFlushing ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferIsFlushing _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_is_flushing _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferIsFlushingMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferIsFlushingMethodInfo a signature where+ overloadedMethod _ = audioRingBufferIsFlushing++-- method AudioRingBuffer::may_start+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allowed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_may_start" gst_audio_ring_buffer_may_start :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ CInt -> -- allowed : TBasicType TBoolean+ IO ()+++audioRingBufferMayStart ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Bool -- allowed+ -> m () -- result+audioRingBufferMayStart _obj allowed = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let allowed' = (fromIntegral . fromEnum) allowed+ gst_audio_ring_buffer_may_start _obj' allowed'+ touchManagedPtr _obj+ return ()++data AudioRingBufferMayStartMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferMayStartMethodInfo a signature where+ overloadedMethod _ = audioRingBufferMayStart++-- method AudioRingBuffer::open_device+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_open_device" gst_audio_ring_buffer_open_device :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferOpenDevice ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferOpenDevice _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_open_device _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferOpenDeviceMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferOpenDeviceMethodInfo a signature where+ overloadedMethod _ = audioRingBufferOpenDevice++-- method AudioRingBuffer::pause+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_pause" gst_audio_ring_buffer_pause :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferPause ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferPause _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_pause _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferPauseMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferPauseMethodInfo a signature where+ overloadedMethod _ = audioRingBufferPause++-- method AudioRingBuffer::prepare_read+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "readptr", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_prepare_read" gst_audio_ring_buffer_prepare_read :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Int32 -> -- segment : TBasicType TInt32+ Word8 -> -- readptr : TBasicType TUInt8+ Int32 -> -- len : TBasicType TInt32+ IO CInt+++audioRingBufferPrepareRead ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Int32 -- segment+ -> Word8 -- readptr+ -> Int32 -- len+ -> m Bool -- result+audioRingBufferPrepareRead _obj segment readptr len = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_prepare_read _obj' segment readptr len+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferPrepareReadMethodInfo+instance (signature ~ (Int32 -> Word8 -> Int32 -> m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferPrepareReadMethodInfo a signature where+ overloadedMethod _ = audioRingBufferPrepareRead++-- method AudioRingBuffer::read+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sample", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_read" gst_audio_ring_buffer_read :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Word64 -> -- sample : TBasicType TUInt64+ Word8 -> -- data : TBasicType TUInt8+ Word32 -> -- len : TBasicType TUInt32+ Word64 -> -- timestamp : TBasicType TUInt64+ IO Word32+++audioRingBufferRead ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Word64 -- sample+ -> Word8 -- data_+ -> Word32 -- len+ -> Word64 -- timestamp+ -> m Word32 -- result+audioRingBufferRead _obj sample data_ len timestamp = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_read _obj' sample data_ len timestamp+ touchManagedPtr _obj+ return result++data AudioRingBufferReadMethodInfo+instance (signature ~ (Word64 -> Word8 -> Word32 -> Word64 -> m Word32), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferReadMethodInfo a signature where+ overloadedMethod _ = audioRingBufferRead++-- method AudioRingBuffer::release+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_release" gst_audio_ring_buffer_release :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferRelease ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferRelease _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_release _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferReleaseMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferReleaseMethodInfo a signature where+ overloadedMethod _ = audioRingBufferRelease++-- method AudioRingBuffer::samples_done+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_samples_done" gst_audio_ring_buffer_samples_done :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO Word64+++audioRingBufferSamplesDone ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Word64 -- result+audioRingBufferSamplesDone _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_samples_done _obj'+ touchManagedPtr _obj+ return result++data AudioRingBufferSamplesDoneMethodInfo+instance (signature ~ (m Word64), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferSamplesDoneMethodInfo a signature where+ overloadedMethod _ = audioRingBufferSamplesDone++-- method AudioRingBuffer::set_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cb", argType = TInterface "GstAudio" "AudioRingBufferCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_set_callback" gst_audio_ring_buffer_set_callback :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ FunPtr AudioRingBufferCallbackC -> -- cb : TInterface "GstAudio" "AudioRingBufferCallback"+ Ptr () -> -- user_data : TBasicType TVoid+ IO ()+++audioRingBufferSetCallback ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> AudioRingBufferCallback -- cb+ -> m () -- result+audioRingBufferSetCallback _obj cb = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ ptrcb <- callocMem :: IO (Ptr (FunPtr AudioRingBufferCallbackC))+ cb' <- mkAudioRingBufferCallback (audioRingBufferCallbackWrapper (Just ptrcb) cb)+ poke ptrcb cb'+ let userData = nullPtr+ gst_audio_ring_buffer_set_callback _obj' cb' userData+ touchManagedPtr _obj+ return ()++data AudioRingBufferSetCallbackMethodInfo+instance (signature ~ (AudioRingBufferCallback -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferSetCallbackMethodInfo a signature where+ overloadedMethod _ = audioRingBufferSetCallback++-- method AudioRingBuffer::set_channel_positions+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface "GstAudio" "AudioChannelPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_set_channel_positions" gst_audio_ring_buffer_set_channel_positions :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ CUInt -> -- position : TInterface "GstAudio" "AudioChannelPosition"+ IO ()+++audioRingBufferSetChannelPositions ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> AudioChannelPosition -- position+ -> m () -- result+audioRingBufferSetChannelPositions _obj position = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let position' = (fromIntegral . fromEnum) position+ gst_audio_ring_buffer_set_channel_positions _obj' position'+ touchManagedPtr _obj+ return ()++data AudioRingBufferSetChannelPositionsMethodInfo+instance (signature ~ (AudioChannelPosition -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferSetChannelPositionsMethodInfo a signature where+ overloadedMethod _ = audioRingBufferSetChannelPositions++-- method AudioRingBuffer::set_flushing+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flushing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_set_flushing" gst_audio_ring_buffer_set_flushing :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ CInt -> -- flushing : TBasicType TBoolean+ IO ()+++audioRingBufferSetFlushing ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Bool -- flushing+ -> m () -- result+audioRingBufferSetFlushing _obj flushing = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ let flushing' = (fromIntegral . fromEnum) flushing+ gst_audio_ring_buffer_set_flushing _obj' flushing'+ touchManagedPtr _obj+ return ()++data AudioRingBufferSetFlushingMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferSetFlushingMethodInfo a signature where+ overloadedMethod _ = audioRingBufferSetFlushing++-- method AudioRingBuffer::set_sample+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sample", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_set_sample" gst_audio_ring_buffer_set_sample :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Word64 -> -- sample : TBasicType TUInt64+ IO ()+++audioRingBufferSetSample ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Word64 -- sample+ -> m () -- result+audioRingBufferSetSample _obj sample = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_ring_buffer_set_sample _obj' sample+ touchManagedPtr _obj+ return ()++data AudioRingBufferSetSampleMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferSetSampleMethodInfo a signature where+ overloadedMethod _ = audioRingBufferSetSample++-- method AudioRingBuffer::set_timestamp+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "readseg", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_set_timestamp" gst_audio_ring_buffer_set_timestamp :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ Int32 -> -- readseg : TBasicType TInt32+ Word64 -> -- timestamp : TBasicType TUInt64+ IO ()+++audioRingBufferSetTimestamp ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> Int32 -- readseg+ -> Word64 -- timestamp+ -> m () -- result+audioRingBufferSetTimestamp _obj readseg timestamp = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ gst_audio_ring_buffer_set_timestamp _obj' readseg timestamp+ touchManagedPtr _obj+ return ()++data AudioRingBufferSetTimestampMethodInfo+instance (signature ~ (Int32 -> Word64 -> m ()), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferSetTimestampMethodInfo a signature where+ overloadedMethod _ = audioRingBufferSetTimestamp++-- method AudioRingBuffer::start+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_start" gst_audio_ring_buffer_start :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferStart ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferStart _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_start _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferStartMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferStartMethodInfo a signature where+ overloadedMethod _ = audioRingBufferStart++-- method AudioRingBuffer::stop+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioRingBuffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_stop" gst_audio_ring_buffer_stop :: + Ptr AudioRingBuffer -> -- _obj : TInterface "GstAudio" "AudioRingBuffer"+ IO CInt+++audioRingBufferStop ::+ (MonadIO m, AudioRingBufferK a) =>+ a -- _obj+ -> m Bool -- result+audioRingBufferStop _obj = liftIO $ do+ let _obj' = unsafeManagedPtrCastPtr _obj+ result <- gst_audio_ring_buffer_stop _obj'+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioRingBufferStopMethodInfo+instance (signature ~ (m Bool), MonadIO m, AudioRingBufferK a) => MethodInfo AudioRingBufferStopMethodInfo a signature where+ overloadedMethod _ = audioRingBufferStop++-- method AudioRingBuffer::debug_spec_buff+-- method type : MemberFunction+-- Args : [Arg {argCName = "spec", argType = TInterface "GstAudio" "AudioRingBufferSpec", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_debug_spec_buff" gst_audio_ring_buffer_debug_spec_buff :: + Ptr AudioRingBufferSpec -> -- spec : TInterface "GstAudio" "AudioRingBufferSpec"+ IO ()+++audioRingBufferDebugSpecBuff ::+ (MonadIO m) =>+ AudioRingBufferSpec -- spec+ -> m () -- result+audioRingBufferDebugSpecBuff spec = liftIO $ do+ let spec' = unsafeManagedPtrGetPtr spec+ gst_audio_ring_buffer_debug_spec_buff spec'+ touchManagedPtr spec+ return ()++-- method AudioRingBuffer::debug_spec_caps+-- method type : MemberFunction+-- Args : [Arg {argCName = "spec", argType = TInterface "GstAudio" "AudioRingBufferSpec", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_debug_spec_caps" gst_audio_ring_buffer_debug_spec_caps :: + Ptr AudioRingBufferSpec -> -- spec : TInterface "GstAudio" "AudioRingBufferSpec"+ IO ()+++audioRingBufferDebugSpecCaps ::+ (MonadIO m) =>+ AudioRingBufferSpec -- spec+ -> m () -- result+audioRingBufferDebugSpecCaps spec = liftIO $ do+ let spec' = unsafeManagedPtrGetPtr spec+ gst_audio_ring_buffer_debug_spec_caps spec'+ touchManagedPtr spec+ return ()++-- method AudioRingBuffer::parse_caps+-- method type : MemberFunction+-- Args : [Arg {argCName = "spec", argType = TInterface "GstAudio" "AudioRingBufferSpec", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_ring_buffer_parse_caps" gst_audio_ring_buffer_parse_caps :: + Ptr AudioRingBufferSpec -> -- spec : TInterface "GstAudio" "AudioRingBufferSpec"+ Ptr Gst.Caps -> -- caps : TInterface "Gst" "Caps"+ IO CInt+++audioRingBufferParseCaps ::+ (MonadIO m) =>+ AudioRingBufferSpec -- spec+ -> Gst.Caps -- caps+ -> m Bool -- result+audioRingBufferParseCaps spec caps = liftIO $ do+ let spec' = unsafeManagedPtrGetPtr spec+ let caps' = unsafeManagedPtrGetPtr caps+ result <- gst_audio_ring_buffer_parse_caps spec' caps'+ let result' = (/= 0) result+ touchManagedPtr spec+ touchManagedPtr caps+ return result'++
+ GI/GstAudio/Objects/AudioRingBuffer.hs-boot view
@@ -0,0 +1,40 @@+module GI.GstAudio.Objects.AudioRingBuffer where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioRingBuffer = AudioRingBuffer (ForeignPtr AudioRingBuffer)+instance GObject AudioRingBuffer where+class GObject o => AudioRingBufferK o+instance (GObject o, IsDescendantOf AudioRingBuffer o) => AudioRingBufferK o+data AudioRingBufferAcquireMethodInfo+data AudioRingBufferActivateMethodInfo+data AudioRingBufferAdvanceMethodInfo+data AudioRingBufferClearMethodInfo+data AudioRingBufferClearAllMethodInfo+data AudioRingBufferCloseDeviceMethodInfo+data AudioRingBufferCommitMethodInfo+data AudioRingBufferConvertMethodInfo+data AudioRingBufferDelayMethodInfo+data AudioRingBufferDeviceIsOpenMethodInfo+data AudioRingBufferIsAcquiredMethodInfo+data AudioRingBufferIsActiveMethodInfo+data AudioRingBufferIsFlushingMethodInfo+data AudioRingBufferMayStartMethodInfo+data AudioRingBufferOpenDeviceMethodInfo+data AudioRingBufferPauseMethodInfo+data AudioRingBufferPrepareReadMethodInfo+data AudioRingBufferReadMethodInfo+data AudioRingBufferReleaseMethodInfo+data AudioRingBufferSamplesDoneMethodInfo+data AudioRingBufferSetCallbackMethodInfo+data AudioRingBufferSetChannelPositionsMethodInfo+data AudioRingBufferSetFlushingMethodInfo+data AudioRingBufferSetSampleMethodInfo+data AudioRingBufferSetTimestampMethodInfo+data AudioRingBufferStartMethodInfo+data AudioRingBufferStopMethodInfo
+ GI/GstAudio/Objects/AudioSink.hs view
@@ -0,0 +1,204 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioSink+ ( ++-- * Exported types+ AudioSink(..) ,+ AudioSinkK ,+ toAudioSink ,+ noAudioSink ,+++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst+import qualified GI.GstBase as GstBase++newtype AudioSink = AudioSink (ForeignPtr AudioSink)+foreign import ccall "gst_audio_sink_get_type"+ c_gst_audio_sink_get_type :: IO GType++type instance ParentTypes AudioSink = AudioSinkParentTypes+type AudioSinkParentTypes = '[AudioBaseSink, GstBase.BaseSink, Gst.Element, Gst.Object, GObject.Object]++instance GObject AudioSink where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_sink_get_type+ ++class GObject o => AudioSinkK o+instance (GObject o, IsDescendantOf AudioSink o) => AudioSinkK o++toAudioSink :: AudioSinkK o => o -> IO AudioSink+toAudioSink = unsafeCastTo AudioSink++noAudioSink :: Maybe AudioSink+noAudioSink = Nothing++type family ResolveAudioSinkMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioSinkMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioSinkMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioSinkMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioSinkMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioSinkMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioSinkMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioSinkMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioSinkMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioSinkMethod "createRingbuffer" o = AudioBaseSinkCreateRingbufferMethodInfo+ ResolveAudioSinkMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioSinkMethod "doPreroll" o = GstBase.BaseSinkDoPrerollMethodInfo+ ResolveAudioSinkMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioSinkMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioSinkMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioSinkMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioSinkMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioSinkMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioSinkMethod "isAsyncEnabled" o = GstBase.BaseSinkIsAsyncEnabledMethodInfo+ ResolveAudioSinkMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioSinkMethod "isLastSampleEnabled" o = GstBase.BaseSinkIsLastSampleEnabledMethodInfo+ ResolveAudioSinkMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioSinkMethod "isQosEnabled" o = GstBase.BaseSinkIsQosEnabledMethodInfo+ ResolveAudioSinkMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioSinkMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioSinkMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioSinkMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioSinkMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioSinkMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioSinkMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioSinkMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioSinkMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioSinkMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioSinkMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioSinkMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioSinkMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioSinkMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioSinkMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioSinkMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioSinkMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioSinkMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioSinkMethod "queryLatency" o = GstBase.BaseSinkQueryLatencyMethodInfo+ ResolveAudioSinkMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioSinkMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioSinkMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioSinkMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioSinkMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioSinkMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioSinkMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioSinkMethod "reportDeviceFailure" o = AudioBaseSinkReportDeviceFailureMethodInfo+ ResolveAudioSinkMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioSinkMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioSinkMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioSinkMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioSinkMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioSinkMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioSinkMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioSinkMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioSinkMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioSinkMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioSinkMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioSinkMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioSinkMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioSinkMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioSinkMethod "wait" o = GstBase.BaseSinkWaitMethodInfo+ ResolveAudioSinkMethod "waitClock" o = GstBase.BaseSinkWaitClockMethodInfo+ ResolveAudioSinkMethod "waitPreroll" o = GstBase.BaseSinkWaitPrerollMethodInfo+ ResolveAudioSinkMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioSinkMethod "getAlignmentThreshold" o = AudioBaseSinkGetAlignmentThresholdMethodInfo+ ResolveAudioSinkMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioSinkMethod "getBlocksize" o = GstBase.BaseSinkGetBlocksizeMethodInfo+ ResolveAudioSinkMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioSinkMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioSinkMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioSinkMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioSinkMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioSinkMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioSinkMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioSinkMethod "getDiscontWait" o = AudioBaseSinkGetDiscontWaitMethodInfo+ ResolveAudioSinkMethod "getDriftTolerance" o = AudioBaseSinkGetDriftToleranceMethodInfo+ ResolveAudioSinkMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioSinkMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioSinkMethod "getLastSample" o = GstBase.BaseSinkGetLastSampleMethodInfo+ ResolveAudioSinkMethod "getLatency" o = GstBase.BaseSinkGetLatencyMethodInfo+ ResolveAudioSinkMethod "getMaxBitrate" o = GstBase.BaseSinkGetMaxBitrateMethodInfo+ ResolveAudioSinkMethod "getMaxLateness" o = GstBase.BaseSinkGetMaxLatenessMethodInfo+ ResolveAudioSinkMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioSinkMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioSinkMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioSinkMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioSinkMethod "getProvideClock" o = AudioBaseSinkGetProvideClockMethodInfo+ ResolveAudioSinkMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioSinkMethod "getRenderDelay" o = GstBase.BaseSinkGetRenderDelayMethodInfo+ ResolveAudioSinkMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioSinkMethod "getSlaveMethod" o = AudioBaseSinkGetSlaveMethodMethodInfo+ ResolveAudioSinkMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioSinkMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioSinkMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioSinkMethod "getSync" o = GstBase.BaseSinkGetSyncMethodInfo+ ResolveAudioSinkMethod "getThrottleTime" o = GstBase.BaseSinkGetThrottleTimeMethodInfo+ ResolveAudioSinkMethod "getTsOffset" o = GstBase.BaseSinkGetTsOffsetMethodInfo+ ResolveAudioSinkMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioSinkMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioSinkMethod "setAlignmentThreshold" o = AudioBaseSinkSetAlignmentThresholdMethodInfo+ ResolveAudioSinkMethod "setAsyncEnabled" o = GstBase.BaseSinkSetAsyncEnabledMethodInfo+ ResolveAudioSinkMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioSinkMethod "setBlocksize" o = GstBase.BaseSinkSetBlocksizeMethodInfo+ ResolveAudioSinkMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioSinkMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioSinkMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioSinkMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioSinkMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioSinkMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioSinkMethod "setCustomSlavingCallback" o = AudioBaseSinkSetCustomSlavingCallbackMethodInfo+ ResolveAudioSinkMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioSinkMethod "setDiscontWait" o = AudioBaseSinkSetDiscontWaitMethodInfo+ ResolveAudioSinkMethod "setDriftTolerance" o = AudioBaseSinkSetDriftToleranceMethodInfo+ ResolveAudioSinkMethod "setLastSampleEnabled" o = GstBase.BaseSinkSetLastSampleEnabledMethodInfo+ ResolveAudioSinkMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioSinkMethod "setMaxBitrate" o = GstBase.BaseSinkSetMaxBitrateMethodInfo+ ResolveAudioSinkMethod "setMaxLateness" o = GstBase.BaseSinkSetMaxLatenessMethodInfo+ ResolveAudioSinkMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioSinkMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioSinkMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioSinkMethod "setProvideClock" o = AudioBaseSinkSetProvideClockMethodInfo+ ResolveAudioSinkMethod "setQosEnabled" o = GstBase.BaseSinkSetQosEnabledMethodInfo+ ResolveAudioSinkMethod "setRenderDelay" o = GstBase.BaseSinkSetRenderDelayMethodInfo+ ResolveAudioSinkMethod "setSlaveMethod" o = AudioBaseSinkSetSlaveMethodMethodInfo+ ResolveAudioSinkMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioSinkMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioSinkMethod "setSync" o = GstBase.BaseSinkSetSyncMethodInfo+ ResolveAudioSinkMethod "setThrottleTime" o = GstBase.BaseSinkSetThrottleTimeMethodInfo+ ResolveAudioSinkMethod "setTsOffset" o = GstBase.BaseSinkSetTsOffsetMethodInfo+ ResolveAudioSinkMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioSinkMethod t AudioSink, MethodInfo info AudioSink p) => IsLabelProxy t (AudioSink -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioSinkMethod t AudioSink, MethodInfo info AudioSink p) => IsLabel t (AudioSink -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++type instance AttributeList AudioSink = AudioSinkAttributeList+type AudioSinkAttributeList = ('[ '("alignmentThreshold", AudioBaseSinkAlignmentThresholdPropertyInfo), '("async", GstBase.BaseSinkAsyncPropertyInfo), '("blocksize", GstBase.BaseSinkBlocksizePropertyInfo), '("bufferTime", AudioBaseSinkBufferTimePropertyInfo), '("canActivatePull", AudioBaseSinkCanActivatePullPropertyInfo), '("discontWait", AudioBaseSinkDiscontWaitPropertyInfo), '("driftTolerance", AudioBaseSinkDriftTolerancePropertyInfo), '("enableLastSample", GstBase.BaseSinkEnableLastSamplePropertyInfo), '("lastSample", GstBase.BaseSinkLastSamplePropertyInfo), '("latencyTime", AudioBaseSinkLatencyTimePropertyInfo), '("maxBitrate", GstBase.BaseSinkMaxBitratePropertyInfo), '("maxLateness", GstBase.BaseSinkMaxLatenessPropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("provideClock", AudioBaseSinkProvideClockPropertyInfo), '("qos", GstBase.BaseSinkQosPropertyInfo), '("renderDelay", GstBase.BaseSinkRenderDelayPropertyInfo), '("slaveMethod", AudioBaseSinkSlaveMethodPropertyInfo), '("sync", GstBase.BaseSinkSyncPropertyInfo), '("throttleTime", GstBase.BaseSinkThrottleTimePropertyInfo), '("tsOffset", GstBase.BaseSinkTsOffsetPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioSink = AudioSinkSignalList+type AudioSinkSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++
+ GI/GstAudio/Objects/AudioSink.hs-boot view
@@ -0,0 +1,13 @@+module GI.GstAudio.Objects.AudioSink where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioSink = AudioSink (ForeignPtr AudioSink)+instance GObject AudioSink where+class GObject o => AudioSinkK o+instance (GObject o, IsDescendantOf AudioSink o) => AudioSinkK o
+ GI/GstAudio/Objects/AudioSrc.hs view
@@ -0,0 +1,188 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Objects.AudioSrc+ ( ++-- * Exported types+ AudioSrc(..) ,+ AudioSrcK ,+ toAudioSrc ,+ noAudioSrc ,+++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.GObject as GObject+import qualified GI.Gst as Gst+import qualified GI.GstBase as GstBase++newtype AudioSrc = AudioSrc (ForeignPtr AudioSrc)+foreign import ccall "gst_audio_src_get_type"+ c_gst_audio_src_get_type :: IO GType++type instance ParentTypes AudioSrc = AudioSrcParentTypes+type AudioSrcParentTypes = '[AudioBaseSrc, GstBase.PushSrc, GstBase.BaseSrc, Gst.Element, Gst.Object, GObject.Object]++instance GObject AudioSrc where+ gobjectIsInitiallyUnowned _ = True+ gobjectType _ = c_gst_audio_src_get_type+ ++class GObject o => AudioSrcK o+instance (GObject o, IsDescendantOf AudioSrc o) => AudioSrcK o++toAudioSrc :: AudioSrcK o => o -> IO AudioSrc+toAudioSrc = unsafeCastTo AudioSrc++noAudioSrc :: Maybe AudioSrc+noAudioSrc = Nothing++type family ResolveAudioSrcMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioSrcMethod "abortState" o = Gst.ElementAbortStateMethodInfo+ ResolveAudioSrcMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo+ ResolveAudioSrcMethod "addPad" o = Gst.ElementAddPadMethodInfo+ ResolveAudioSrcMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo+ ResolveAudioSrcMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo+ ResolveAudioSrcMethod "changeState" o = Gst.ElementChangeStateMethodInfo+ ResolveAudioSrcMethod "continueState" o = Gst.ElementContinueStateMethodInfo+ ResolveAudioSrcMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo+ ResolveAudioSrcMethod "createRingbuffer" o = AudioBaseSrcCreateRingbufferMethodInfo+ ResolveAudioSrcMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo+ ResolveAudioSrcMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo+ ResolveAudioSrcMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo+ ResolveAudioSrcMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo+ ResolveAudioSrcMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo+ ResolveAudioSrcMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo+ ResolveAudioSrcMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo+ ResolveAudioSrcMethod "isAsync" o = GstBase.BaseSrcIsAsyncMethodInfo+ ResolveAudioSrcMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo+ ResolveAudioSrcMethod "isLive" o = GstBase.BaseSrcIsLiveMethodInfo+ ResolveAudioSrcMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo+ ResolveAudioSrcMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo+ ResolveAudioSrcMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo+ ResolveAudioSrcMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo+ ResolveAudioSrcMethod "link" o = Gst.ElementLinkMethodInfo+ ResolveAudioSrcMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo+ ResolveAudioSrcMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo+ ResolveAudioSrcMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo+ ResolveAudioSrcMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo+ ResolveAudioSrcMethod "lostState" o = Gst.ElementLostStateMethodInfo+ ResolveAudioSrcMethod "messageFull" o = Gst.ElementMessageFullMethodInfo+ ResolveAudioSrcMethod "newSeamlessSegment" o = GstBase.BaseSrcNewSeamlessSegmentMethodInfo+ ResolveAudioSrcMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo+ ResolveAudioSrcMethod "notify" o = GObject.ObjectNotifyMethodInfo+ ResolveAudioSrcMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo+ ResolveAudioSrcMethod "postMessage" o = Gst.ElementPostMessageMethodInfo+ ResolveAudioSrcMethod "provideClock" o = Gst.ElementProvideClockMethodInfo+ ResolveAudioSrcMethod "query" o = Gst.ElementQueryMethodInfo+ ResolveAudioSrcMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo+ ResolveAudioSrcMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo+ ResolveAudioSrcMethod "queryLatency" o = GstBase.BaseSrcQueryLatencyMethodInfo+ ResolveAudioSrcMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo+ ResolveAudioSrcMethod "refSink" o = GObject.ObjectRefSinkMethodInfo+ ResolveAudioSrcMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo+ ResolveAudioSrcMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo+ ResolveAudioSrcMethod "removePad" o = Gst.ElementRemovePadMethodInfo+ ResolveAudioSrcMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo+ ResolveAudioSrcMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo+ ResolveAudioSrcMethod "requestPad" o = Gst.ElementRequestPadMethodInfo+ ResolveAudioSrcMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo+ ResolveAudioSrcMethod "seek" o = Gst.ElementSeekMethodInfo+ ResolveAudioSrcMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo+ ResolveAudioSrcMethod "sendEvent" o = Gst.ElementSendEventMethodInfo+ ResolveAudioSrcMethod "startComplete" o = GstBase.BaseSrcStartCompleteMethodInfo+ ResolveAudioSrcMethod "startWait" o = GstBase.BaseSrcStartWaitMethodInfo+ ResolveAudioSrcMethod "stealData" o = GObject.ObjectStealDataMethodInfo+ ResolveAudioSrcMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo+ ResolveAudioSrcMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo+ ResolveAudioSrcMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo+ ResolveAudioSrcMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo+ ResolveAudioSrcMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo+ ResolveAudioSrcMethod "unlink" o = Gst.ElementUnlinkMethodInfo+ ResolveAudioSrcMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo+ ResolveAudioSrcMethod "unparent" o = Gst.ObjectUnparentMethodInfo+ ResolveAudioSrcMethod "waitPlaying" o = GstBase.BaseSrcWaitPlayingMethodInfo+ ResolveAudioSrcMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo+ ResolveAudioSrcMethod "getAllocator" o = GstBase.BaseSrcGetAllocatorMethodInfo+ ResolveAudioSrcMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo+ ResolveAudioSrcMethod "getBlocksize" o = GstBase.BaseSrcGetBlocksizeMethodInfo+ ResolveAudioSrcMethod "getBufferPool" o = GstBase.BaseSrcGetBufferPoolMethodInfo+ ResolveAudioSrcMethod "getBus" o = Gst.ElementGetBusMethodInfo+ ResolveAudioSrcMethod "getClock" o = Gst.ElementGetClockMethodInfo+ ResolveAudioSrcMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo+ ResolveAudioSrcMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo+ ResolveAudioSrcMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo+ ResolveAudioSrcMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo+ ResolveAudioSrcMethod "getData" o = GObject.ObjectGetDataMethodInfo+ ResolveAudioSrcMethod "getDoTimestamp" o = GstBase.BaseSrcGetDoTimestampMethodInfo+ ResolveAudioSrcMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo+ ResolveAudioSrcMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo+ ResolveAudioSrcMethod "getName" o = Gst.ObjectGetNameMethodInfo+ ResolveAudioSrcMethod "getParent" o = Gst.ObjectGetParentMethodInfo+ ResolveAudioSrcMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo+ ResolveAudioSrcMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo+ ResolveAudioSrcMethod "getProvideClock" o = AudioBaseSrcGetProvideClockMethodInfo+ ResolveAudioSrcMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo+ ResolveAudioSrcMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo+ ResolveAudioSrcMethod "getSlaveMethod" o = AudioBaseSrcGetSlaveMethodMethodInfo+ ResolveAudioSrcMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo+ ResolveAudioSrcMethod "getState" o = Gst.ElementGetStateMethodInfo+ ResolveAudioSrcMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo+ ResolveAudioSrcMethod "getValue" o = Gst.ObjectGetValueMethodInfo+ ResolveAudioSrcMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo+ ResolveAudioSrcMethod "setAsync" o = GstBase.BaseSrcSetAsyncMethodInfo+ ResolveAudioSrcMethod "setAutomaticEos" o = GstBase.BaseSrcSetAutomaticEosMethodInfo+ ResolveAudioSrcMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo+ ResolveAudioSrcMethod "setBlocksize" o = GstBase.BaseSrcSetBlocksizeMethodInfo+ ResolveAudioSrcMethod "setBus" o = Gst.ElementSetBusMethodInfo+ ResolveAudioSrcMethod "setCaps" o = GstBase.BaseSrcSetCapsMethodInfo+ ResolveAudioSrcMethod "setClock" o = Gst.ElementSetClockMethodInfo+ ResolveAudioSrcMethod "setContext" o = Gst.ElementSetContextMethodInfo+ ResolveAudioSrcMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo+ ResolveAudioSrcMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo+ ResolveAudioSrcMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo+ ResolveAudioSrcMethod "setData" o = GObject.ObjectSetDataMethodInfo+ ResolveAudioSrcMethod "setDoTimestamp" o = GstBase.BaseSrcSetDoTimestampMethodInfo+ ResolveAudioSrcMethod "setDynamicSize" o = GstBase.BaseSrcSetDynamicSizeMethodInfo+ ResolveAudioSrcMethod "setFormat" o = GstBase.BaseSrcSetFormatMethodInfo+ ResolveAudioSrcMethod "setLive" o = GstBase.BaseSrcSetLiveMethodInfo+ ResolveAudioSrcMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo+ ResolveAudioSrcMethod "setName" o = Gst.ObjectSetNameMethodInfo+ ResolveAudioSrcMethod "setParent" o = Gst.ObjectSetParentMethodInfo+ ResolveAudioSrcMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo+ ResolveAudioSrcMethod "setProvideClock" o = AudioBaseSrcSetProvideClockMethodInfo+ ResolveAudioSrcMethod "setSlaveMethod" o = AudioBaseSrcSetSlaveMethodMethodInfo+ ResolveAudioSrcMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo+ ResolveAudioSrcMethod "setState" o = Gst.ElementSetStateMethodInfo+ ResolveAudioSrcMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioSrcMethod t AudioSrc, MethodInfo info AudioSrc p) => IsLabelProxy t (AudioSrc -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioSrcMethod t AudioSrc, MethodInfo info AudioSrc p) => IsLabel t (AudioSrc -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++type instance AttributeList AudioSrc = AudioSrcAttributeList+type AudioSrcAttributeList = ('[ '("actualBufferTime", AudioBaseSrcActualBufferTimePropertyInfo), '("actualLatencyTime", AudioBaseSrcActualLatencyTimePropertyInfo), '("blocksize", GstBase.BaseSrcBlocksizePropertyInfo), '("bufferTime", AudioBaseSrcBufferTimePropertyInfo), '("doTimestamp", GstBase.BaseSrcDoTimestampPropertyInfo), '("latencyTime", AudioBaseSrcLatencyTimePropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("numBuffers", GstBase.BaseSrcNumBuffersPropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("provideClock", AudioBaseSrcProvideClockPropertyInfo), '("slaveMethod", AudioBaseSrcSlaveMethodPropertyInfo), '("typefind", GstBase.BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])++type instance SignalList AudioSrc = AudioSrcSignalList+type AudioSrcSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])++
+ GI/GstAudio/Objects/AudioSrc.hs-boot view
@@ -0,0 +1,13 @@+module GI.GstAudio.Objects.AudioSrc where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioSrc = AudioSrc (ForeignPtr AudioSrc)+instance GObject AudioSrc where+class GObject o => AudioSrcK o+instance (GObject o, IsDescendantOf AudioSrc o) => AudioSrcK o
+ GI/GstAudio/Structs.hs view
@@ -0,0 +1,35 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)+-}++module GI.GstAudio.Structs+ ( module GI.GstAudio.Structs.AudioCdSrcTrack,+ module GI.GstAudio.Structs.AudioDownmixMeta,+ module GI.GstAudio.Structs.AudioFormatInfo,+ module GI.GstAudio.Structs.AudioInfo ,+ module GI.GstAudio.Structs.AudioRingBufferSpec,+++ ) where++import GI.GstAudio.Structs.AudioCdSrcTrack+import GI.GstAudio.Structs.AudioDownmixMeta+import GI.GstAudio.Structs.AudioFormatInfo+import GI.GstAudio.Structs.AudioInfo+import GI.GstAudio.Structs.AudioRingBufferSpec++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks++
+ GI/GstAudio/Structs/AudioCdSrcTrack.hs view
@@ -0,0 +1,108 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++CD track abstraction to communicate TOC entries to the base class.++This structure is only for use by sub-classed in connection with+gst_audio_cd_src_add_track().++Applications will be informed of the available tracks via a TOC message+on the pipeline's #GstBus instead.+-}++module GI.GstAudio.Structs.AudioCdSrcTrack+ ( ++-- * Exported types+ AudioCdSrcTrack(..) ,+ newZeroAudioCdSrcTrack ,+ noAudioCdSrcTrack ,+++ -- * Properties+-- ** End+ audioCdSrcTrackReadEnd ,+++-- ** IsAudio+ audioCdSrcTrackReadIsAudio ,+++-- ** Num+ audioCdSrcTrackReadNum ,+++-- ** Start+ audioCdSrcTrackReadStart ,+++-- ** Tags+ audioCdSrcTrackReadTags ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.Gst as Gst++newtype AudioCdSrcTrack = AudioCdSrcTrack (ForeignPtr AudioCdSrcTrack)+-- | Construct a `AudioCdSrcTrack` struct initialized to zero.+newZeroAudioCdSrcTrack :: MonadIO m => m AudioCdSrcTrack+newZeroAudioCdSrcTrack = liftIO $ callocBytes 48 >>= wrapPtr AudioCdSrcTrack++noAudioCdSrcTrack :: Maybe AudioCdSrcTrack+noAudioCdSrcTrack = Nothing++audioCdSrcTrackReadIsAudio :: AudioCdSrcTrack -> IO Bool+audioCdSrcTrackReadIsAudio s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO CInt+ let val' = (/= 0) val+ return val'++audioCdSrcTrackReadNum :: AudioCdSrcTrack -> IO Word32+audioCdSrcTrackReadNum s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 4) :: IO Word32+ return val++audioCdSrcTrackReadStart :: AudioCdSrcTrack -> IO Word32+audioCdSrcTrackReadStart s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO Word32+ return val++audioCdSrcTrackReadEnd :: AudioCdSrcTrack -> IO Word32+audioCdSrcTrackReadEnd s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 12) :: IO Word32+ return val++audioCdSrcTrackReadTags :: AudioCdSrcTrack -> IO Gst.TagList+audioCdSrcTrackReadTags s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO (Ptr Gst.TagList)+ val' <- (newBoxed Gst.TagList) val+ return val'++type family ResolveAudioCdSrcTrackMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioCdSrcTrackMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioCdSrcTrackMethod t AudioCdSrcTrack, MethodInfo info AudioCdSrcTrack p) => IsLabelProxy t (AudioCdSrcTrack -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioCdSrcTrackMethod t AudioCdSrcTrack, MethodInfo info AudioCdSrcTrack p) => IsLabel t (AudioCdSrcTrack -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++
+ GI/GstAudio/Structs/AudioCdSrcTrack.hs-boot view
@@ -0,0 +1,10 @@+module GI.GstAudio.Structs.AudioCdSrcTrack where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioCdSrcTrack = AudioCdSrcTrack (ForeignPtr AudioCdSrcTrack)
+ GI/GstAudio/Structs/AudioDownmixMeta.hs view
@@ -0,0 +1,148 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++Extra buffer metadata describing audio downmixing matrix. This metadata is+attached to audio buffers and contains a matrix to downmix the buffer number+of channels to @channels.++@matrix is an two-dimensional array of @to_channels times @from_channels+coefficients, i.e. the i-th output channels is constructed by multiplicating+the input channels with the coefficients in @matrix[i] and taking the sum+of the results.+-}++module GI.GstAudio.Structs.AudioDownmixMeta+ ( ++-- * Exported types+ AudioDownmixMeta(..) ,+ newZeroAudioDownmixMeta ,+ noAudioDownmixMeta ,+++ -- * Methods+-- ** audioDownmixMetaGetInfo+ audioDownmixMetaGetInfo ,+++++ -- * Properties+-- ** FromChannels+ audioDownmixMetaReadFromChannels ,+++-- ** FromPosition+ audioDownmixMetaReadFromPosition ,+++-- ** Matrix+ audioDownmixMetaReadMatrix ,+++-- ** Meta+ audioDownmixMetaReadMeta ,+++-- ** ToChannels+ audioDownmixMetaReadToChannels ,+++-- ** ToPosition+ audioDownmixMetaReadToPosition ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.Gst as Gst++newtype AudioDownmixMeta = AudioDownmixMeta (ForeignPtr AudioDownmixMeta)+-- | Construct a `AudioDownmixMeta` struct initialized to zero.+newZeroAudioDownmixMeta :: MonadIO m => m AudioDownmixMeta+newZeroAudioDownmixMeta = liftIO $ callocBytes 48 >>= wrapPtr AudioDownmixMeta++noAudioDownmixMeta :: Maybe AudioDownmixMeta+noAudioDownmixMeta = Nothing++audioDownmixMetaReadMeta :: AudioDownmixMeta -> IO Gst.Meta+audioDownmixMetaReadMeta s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Meta)+ val' <- (newPtr 16 Gst.Meta) val+ return val'++audioDownmixMetaReadFromPosition :: AudioDownmixMeta -> IO AudioChannelPosition+audioDownmixMetaReadFromPosition s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO CUInt+ let val' = (toEnum . fromIntegral) val+ return val'++audioDownmixMetaReadToPosition :: AudioDownmixMeta -> IO AudioChannelPosition+audioDownmixMetaReadToPosition s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 24) :: IO CUInt+ let val' = (toEnum . fromIntegral) val+ return val'++audioDownmixMetaReadFromChannels :: AudioDownmixMeta -> IO Int32+audioDownmixMetaReadFromChannels s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 32) :: IO Int32+ return val++audioDownmixMetaReadToChannels :: AudioDownmixMeta -> IO Int32+audioDownmixMetaReadToChannels s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 36) :: IO Int32+ return val++audioDownmixMetaReadMatrix :: AudioDownmixMeta -> IO Float+audioDownmixMetaReadMatrix s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 40) :: IO CFloat+ let val' = realToFrac val+ return val'++-- method AudioDownmixMeta::get_info+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : TInterface "Gst" "MetaInfo"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_downmix_meta_get_info" gst_audio_downmix_meta_get_info :: + IO (Ptr Gst.MetaInfo)+++audioDownmixMetaGetInfo ::+ (MonadIO m) =>+ m Gst.MetaInfo -- result+audioDownmixMetaGetInfo = liftIO $ do+ result <- gst_audio_downmix_meta_get_info+ checkUnexpectedReturnNULL "gst_audio_downmix_meta_get_info" result+ result' <- (newPtr 80 Gst.MetaInfo) result+ return result'++type family ResolveAudioDownmixMetaMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioDownmixMetaMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioDownmixMetaMethod t AudioDownmixMeta, MethodInfo info AudioDownmixMeta p) => IsLabelProxy t (AudioDownmixMeta -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioDownmixMetaMethod t AudioDownmixMeta, MethodInfo info AudioDownmixMeta p) => IsLabel t (AudioDownmixMeta -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++
+ GI/GstAudio/Structs/AudioDownmixMeta.hs-boot view
@@ -0,0 +1,10 @@+module GI.GstAudio.Structs.AudioDownmixMeta where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioDownmixMeta = AudioDownmixMeta (ForeignPtr AudioDownmixMeta)
+ GI/GstAudio/Structs/AudioFormatInfo.hs view
@@ -0,0 +1,137 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++Information for an audio format.+-}++module GI.GstAudio.Structs.AudioFormatInfo+ ( ++-- * Exported types+ AudioFormatInfo(..) ,+ newZeroAudioFormatInfo ,+ noAudioFormatInfo ,+++ -- * Properties+-- ** Depth+ audioFormatInfoReadDepth ,+++-- ** Description+ audioFormatInfoReadDescription ,+++-- ** Endianness+ audioFormatInfoReadEndianness ,+++-- ** Flags+ audioFormatInfoReadFlags ,+++-- ** Format+ audioFormatInfoReadFormat ,+++-- ** Name+ audioFormatInfoReadName ,+++-- ** UnpackFormat+ audioFormatInfoReadUnpackFormat ,+++-- ** Width+ audioFormatInfoReadWidth ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks++newtype AudioFormatInfo = AudioFormatInfo (ForeignPtr AudioFormatInfo)+-- | Construct a `AudioFormatInfo` struct initialized to zero.+newZeroAudioFormatInfo :: MonadIO m => m AudioFormatInfo+newZeroAudioFormatInfo = liftIO $ callocBytes 104 >>= wrapPtr AudioFormatInfo++noAudioFormatInfo :: Maybe AudioFormatInfo+noAudioFormatInfo = Nothing++audioFormatInfoReadFormat :: AudioFormatInfo -> IO AudioFormat+audioFormatInfoReadFormat s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO CUInt+ let val' = (toEnum . fromIntegral) val+ return val'++audioFormatInfoReadName :: AudioFormatInfo -> IO T.Text+audioFormatInfoReadName s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO CString+ val' <- cstringToText val+ return val'++audioFormatInfoReadDescription :: AudioFormatInfo -> IO T.Text+audioFormatInfoReadDescription s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO CString+ val' <- cstringToText val+ return val'++audioFormatInfoReadFlags :: AudioFormatInfo -> IO [AudioFormatFlags]+audioFormatInfoReadFlags s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 24) :: IO CUInt+ let val' = wordToGFlags val+ return val'++audioFormatInfoReadEndianness :: AudioFormatInfo -> IO Int32+audioFormatInfoReadEndianness s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 28) :: IO Int32+ return val++audioFormatInfoReadWidth :: AudioFormatInfo -> IO Int32+audioFormatInfoReadWidth s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 32) :: IO Int32+ return val++audioFormatInfoReadDepth :: AudioFormatInfo -> IO Int32+audioFormatInfoReadDepth s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 36) :: IO Int32+ return val++-- XXX Skipped getter for "AudioFormatInfo:silence" :: Not implemented: "Don't know how to unpack C array of type TCArray False 8 (-1) (TBasicType TUInt8)"++audioFormatInfoReadUnpackFormat :: AudioFormatInfo -> IO AudioFormat+audioFormatInfoReadUnpackFormat s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 48) :: IO CUInt+ let val' = (toEnum . fromIntegral) val+ return val'++-- XXX Skipped getter for "AudioFormatInfo:unpack_func" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "AudioFormatInfo:pack_func" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++type family ResolveAudioFormatInfoMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioFormatInfoMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioFormatInfoMethod t AudioFormatInfo, MethodInfo info AudioFormatInfo p) => IsLabelProxy t (AudioFormatInfo -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioFormatInfoMethod t AudioFormatInfo, MethodInfo info AudioFormatInfo p) => IsLabel t (AudioFormatInfo -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++
+ GI/GstAudio/Structs/AudioFormatInfo.hs-boot view
@@ -0,0 +1,10 @@+module GI.GstAudio.Structs.AudioFormatInfo where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioFormatInfo = AudioFormatInfo (ForeignPtr AudioFormatInfo)
+ GI/GstAudio/Structs/AudioInfo.hs view
@@ -0,0 +1,450 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++Information describing audio properties. This information can be filled+in from GstCaps with gst_audio_info_from_caps().++Use the provided macros to access the info in this structure.+-}++module GI.GstAudio.Structs.AudioInfo+ ( ++-- * Exported types+ AudioInfo(..) ,+ newZeroAudioInfo ,+ noAudioInfo ,+++ -- * Methods+-- ** audioInfoConvert+ AudioInfoConvertMethodInfo ,+ audioInfoConvert ,+++-- ** audioInfoCopy+ AudioInfoCopyMethodInfo ,+ audioInfoCopy ,+++-- ** audioInfoFree+ AudioInfoFreeMethodInfo ,+ audioInfoFree ,+++-- ** audioInfoFromCaps+ AudioInfoFromCapsMethodInfo ,+ audioInfoFromCaps ,+++-- ** audioInfoInit+ AudioInfoInitMethodInfo ,+ audioInfoInit ,+++-- ** audioInfoIsEqual+ AudioInfoIsEqualMethodInfo ,+ audioInfoIsEqual ,+++-- ** audioInfoNew+ audioInfoNew ,+++-- ** audioInfoSetFormat+ AudioInfoSetFormatMethodInfo ,+ audioInfoSetFormat ,+++-- ** audioInfoToCaps+ AudioInfoToCapsMethodInfo ,+ audioInfoToCaps ,+++++ -- * Properties+-- ** Bpf+ audioInfoReadBpf ,+++-- ** Channels+ audioInfoReadChannels ,+++-- ** Finfo+ audioInfoReadFinfo ,+++-- ** Flags+ audioInfoReadFlags ,+++-- ** Layout+ audioInfoReadLayout ,+++-- ** Rate+ audioInfoReadRate ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.Gst as Gst++newtype AudioInfo = AudioInfo (ForeignPtr AudioInfo)+foreign import ccall "gst_audio_info_get_type" c_gst_audio_info_get_type :: + IO GType++instance BoxedObject AudioInfo where+ boxedType _ = c_gst_audio_info_get_type++-- | Construct a `AudioInfo` struct initialized to zero.+newZeroAudioInfo :: MonadIO m => m AudioInfo+newZeroAudioInfo = liftIO $ callocBoxedBytes 320 >>= wrapBoxed AudioInfo++noAudioInfo :: Maybe AudioInfo+noAudioInfo = Nothing++audioInfoReadFinfo :: AudioInfo -> IO AudioFormatInfo+audioInfoReadFinfo s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO (Ptr AudioFormatInfo)+ val' <- (newPtr 104 AudioFormatInfo) val+ return val'++audioInfoReadFlags :: AudioInfo -> IO [AudioFlags]+audioInfoReadFlags s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO CUInt+ let val' = wordToGFlags val+ return val'++audioInfoReadLayout :: AudioInfo -> IO AudioLayout+audioInfoReadLayout s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 12) :: IO CUInt+ let val' = (toEnum . fromIntegral) val+ return val'++audioInfoReadRate :: AudioInfo -> IO Int32+audioInfoReadRate s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO Int32+ return val++audioInfoReadChannels :: AudioInfo -> IO Int32+audioInfoReadChannels s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 20) :: IO Int32+ return val++audioInfoReadBpf :: AudioInfo -> IO Int32+audioInfoReadBpf s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 24) :: IO Int32+ return val++-- XXX Skipped getter for "AudioInfo:position" :: Not implemented: "Don't know how to unpack C array of type TCArray False 64 (-1) (TInterface \"GstAudio\" \"AudioChannelPosition\")"++-- method AudioInfo::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioInfo"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_new" gst_audio_info_new :: + IO (Ptr AudioInfo)+++audioInfoNew ::+ (MonadIO m) =>+ m AudioInfo -- result+audioInfoNew = liftIO $ do+ result <- gst_audio_info_new+ checkUnexpectedReturnNULL "gst_audio_info_new" result+ result' <- (wrapBoxed AudioInfo) result+ return result'++-- method AudioInfo::convert+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_fmt", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_fmt", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_convert" gst_audio_info_convert :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ CUInt -> -- src_fmt : TInterface "Gst" "Format"+ Int64 -> -- src_val : TBasicType TInt64+ CUInt -> -- dest_fmt : TInterface "Gst" "Format"+ Int64 -> -- dest_val : TBasicType TInt64+ IO CInt+++audioInfoConvert ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> Gst.Format -- srcFmt+ -> Int64 -- srcVal+ -> Gst.Format -- destFmt+ -> Int64 -- destVal+ -> m Bool -- result+audioInfoConvert _obj srcFmt srcVal destFmt destVal = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ let srcFmt' = (fromIntegral . fromEnum) srcFmt+ let destFmt' = (fromIntegral . fromEnum) destFmt+ result <- gst_audio_info_convert _obj' srcFmt' srcVal destFmt' destVal+ let result' = (/= 0) result+ touchManagedPtr _obj+ return result'++data AudioInfoConvertMethodInfo+instance (signature ~ (Gst.Format -> Int64 -> Gst.Format -> Int64 -> m Bool), MonadIO m) => MethodInfo AudioInfoConvertMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoConvert++-- method AudioInfo::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "GstAudio" "AudioInfo"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_copy" gst_audio_info_copy :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ IO (Ptr AudioInfo)+++audioInfoCopy ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> m AudioInfo -- result+audioInfoCopy _obj = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ result <- gst_audio_info_copy _obj'+ checkUnexpectedReturnNULL "gst_audio_info_copy" result+ result' <- (wrapBoxed AudioInfo) result+ touchManagedPtr _obj+ return result'++data AudioInfoCopyMethodInfo+instance (signature ~ (m AudioInfo), MonadIO m) => MethodInfo AudioInfoCopyMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoCopy++-- method AudioInfo::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_free" gst_audio_info_free :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ IO ()+++audioInfoFree ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> m () -- result+audioInfoFree _obj = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ gst_audio_info_free _obj'+ touchManagedPtr _obj+ return ()++data AudioInfoFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => MethodInfo AudioInfoFreeMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoFree++-- method AudioInfo::from_caps+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_from_caps" gst_audio_info_from_caps :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ Ptr Gst.Caps -> -- caps : TInterface "Gst" "Caps"+ IO CInt+++audioInfoFromCaps ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> Gst.Caps -- caps+ -> m Bool -- result+audioInfoFromCaps _obj caps = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ let caps' = unsafeManagedPtrGetPtr caps+ result <- gst_audio_info_from_caps _obj' caps'+ let result' = (/= 0) result+ touchManagedPtr _obj+ touchManagedPtr caps+ return result'++data AudioInfoFromCapsMethodInfo+instance (signature ~ (Gst.Caps -> m Bool), MonadIO m) => MethodInfo AudioInfoFromCapsMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoFromCaps++-- method AudioInfo::init+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_init" gst_audio_info_init :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ IO ()+++audioInfoInit ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> m () -- result+audioInfoInit _obj = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ gst_audio_info_init _obj'+ touchManagedPtr _obj+ return ()++data AudioInfoInitMethodInfo+instance (signature ~ (m ()), MonadIO m) => MethodInfo AudioInfoInitMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoInit++-- method AudioInfo::is_equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_is_equal" gst_audio_info_is_equal :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ Ptr AudioInfo -> -- other : TInterface "GstAudio" "AudioInfo"+ IO CInt+++audioInfoIsEqual ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> AudioInfo -- other+ -> m Bool -- result+audioInfoIsEqual _obj other = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ let other' = unsafeManagedPtrGetPtr other+ result <- gst_audio_info_is_equal _obj' other'+ let result' = (/= 0) result+ touchManagedPtr _obj+ touchManagedPtr other+ return result'++data AudioInfoIsEqualMethodInfo+instance (signature ~ (AudioInfo -> m Bool), MonadIO m) => MethodInfo AudioInfoIsEqualMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoIsEqual++-- method AudioInfo::set_format+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "GstAudio" "AudioFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "channels", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface "GstAudio" "AudioChannelPosition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_set_format" gst_audio_info_set_format :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ CUInt -> -- format : TInterface "GstAudio" "AudioFormat"+ Int32 -> -- rate : TBasicType TInt32+ Int32 -> -- channels : TBasicType TInt32+ CUInt -> -- position : TInterface "GstAudio" "AudioChannelPosition"+ IO ()+++audioInfoSetFormat ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> AudioFormat -- format+ -> Int32 -- rate+ -> Int32 -- channels+ -> AudioChannelPosition -- position+ -> m () -- result+audioInfoSetFormat _obj format rate channels position = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ let format' = (fromIntegral . fromEnum) format+ let position' = (fromIntegral . fromEnum) position+ gst_audio_info_set_format _obj' format' rate channels position'+ touchManagedPtr _obj+ return ()++data AudioInfoSetFormatMethodInfo+instance (signature ~ (AudioFormat -> Int32 -> Int32 -> AudioChannelPosition -> m ()), MonadIO m) => MethodInfo AudioInfoSetFormatMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoSetFormat++-- method AudioInfo::to_caps+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : TInterface "Gst" "Caps"+-- throws : False+-- Skip return : False++foreign import ccall "gst_audio_info_to_caps" gst_audio_info_to_caps :: + Ptr AudioInfo -> -- _obj : TInterface "GstAudio" "AudioInfo"+ IO (Ptr Gst.Caps)+++audioInfoToCaps ::+ (MonadIO m) =>+ AudioInfo -- _obj+ -> m Gst.Caps -- result+audioInfoToCaps _obj = liftIO $ do+ let _obj' = unsafeManagedPtrGetPtr _obj+ result <- gst_audio_info_to_caps _obj'+ checkUnexpectedReturnNULL "gst_audio_info_to_caps" result+ result' <- (wrapBoxed Gst.Caps) result+ touchManagedPtr _obj+ return result'++data AudioInfoToCapsMethodInfo+instance (signature ~ (m Gst.Caps), MonadIO m) => MethodInfo AudioInfoToCapsMethodInfo AudioInfo signature where+ overloadedMethod _ = audioInfoToCaps++type family ResolveAudioInfoMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioInfoMethod "convert" o = AudioInfoConvertMethodInfo+ ResolveAudioInfoMethod "copy" o = AudioInfoCopyMethodInfo+ ResolveAudioInfoMethod "free" o = AudioInfoFreeMethodInfo+ ResolveAudioInfoMethod "fromCaps" o = AudioInfoFromCapsMethodInfo+ ResolveAudioInfoMethod "init" o = AudioInfoInitMethodInfo+ ResolveAudioInfoMethod "isEqual" o = AudioInfoIsEqualMethodInfo+ ResolveAudioInfoMethod "toCaps" o = AudioInfoToCapsMethodInfo+ ResolveAudioInfoMethod "setFormat" o = AudioInfoSetFormatMethodInfo+ ResolveAudioInfoMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioInfoMethod t AudioInfo, MethodInfo info AudioInfo p) => IsLabelProxy t (AudioInfo -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioInfoMethod t AudioInfo, MethodInfo info AudioInfo p) => IsLabel t (AudioInfo -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++
+ GI/GstAudio/Structs/AudioInfo.hs-boot view
@@ -0,0 +1,19 @@+module GI.GstAudio.Structs.AudioInfo where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioInfo = AudioInfo (ForeignPtr AudioInfo)+instance BoxedObject AudioInfo where+data AudioInfoConvertMethodInfo+data AudioInfoCopyMethodInfo+data AudioInfoFreeMethodInfo+data AudioInfoFromCapsMethodInfo+data AudioInfoInitMethodInfo+data AudioInfoIsEqualMethodInfo+data AudioInfoSetFormatMethodInfo+data AudioInfoToCapsMethodInfo
+ GI/GstAudio/Structs/AudioRingBufferSpec.hs view
@@ -0,0 +1,130 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The structure containing the format specification of the ringbuffer.+-}++module GI.GstAudio.Structs.AudioRingBufferSpec+ ( ++-- * Exported types+ AudioRingBufferSpec(..) ,+ newZeroAudioRingBufferSpec ,+ noAudioRingBufferSpec ,+++ -- * Properties+-- ** BufferTime+ audioRingBufferSpecReadBufferTime ,+++-- ** Caps+ audioRingBufferSpecReadCaps ,+++-- ** Info+ audioRingBufferSpecReadInfo ,+++-- ** LatencyTime+ audioRingBufferSpecReadLatencyTime ,+++-- ** Seglatency+ audioRingBufferSpecReadSeglatency ,+++-- ** Segsize+ audioRingBufferSpecReadSegsize ,+++-- ** Segtotal+ audioRingBufferSpecReadSegtotal ,+++-- ** Type+ audioRingBufferSpecReadType ,+++++ ) where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++import GI.GstAudio.Types+import GI.GstAudio.Callbacks+import qualified GI.Gst as Gst++newtype AudioRingBufferSpec = AudioRingBufferSpec (ForeignPtr AudioRingBufferSpec)+-- | Construct a `AudioRingBufferSpec` struct initialized to zero.+newZeroAudioRingBufferSpec :: MonadIO m => m AudioRingBufferSpec+newZeroAudioRingBufferSpec = liftIO $ callocBytes 400 >>= wrapPtr AudioRingBufferSpec++noAudioRingBufferSpec :: Maybe AudioRingBufferSpec+noAudioRingBufferSpec = Nothing++audioRingBufferSpecReadCaps :: AudioRingBufferSpec -> IO Gst.Caps+audioRingBufferSpecReadCaps s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Caps)+ val' <- (newBoxed Gst.Caps) val+ return val'++audioRingBufferSpecReadType :: AudioRingBufferSpec -> IO AudioRingBufferFormatType+audioRingBufferSpecReadType s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO CUInt+ let val' = (toEnum . fromIntegral) val+ return val'++audioRingBufferSpecReadInfo :: AudioRingBufferSpec -> IO AudioInfo+audioRingBufferSpecReadInfo s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO (Ptr AudioInfo)+ val' <- (newBoxed AudioInfo) val+ return val'++audioRingBufferSpecReadLatencyTime :: AudioRingBufferSpec -> IO Word64+audioRingBufferSpecReadLatencyTime s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 336) :: IO Word64+ return val++audioRingBufferSpecReadBufferTime :: AudioRingBufferSpec -> IO Word64+audioRingBufferSpecReadBufferTime s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 344) :: IO Word64+ return val++audioRingBufferSpecReadSegsize :: AudioRingBufferSpec -> IO Int32+audioRingBufferSpecReadSegsize s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 352) :: IO Int32+ return val++audioRingBufferSpecReadSegtotal :: AudioRingBufferSpec -> IO Int32+audioRingBufferSpecReadSegtotal s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 356) :: IO Int32+ return val++audioRingBufferSpecReadSeglatency :: AudioRingBufferSpec -> IO Int32+audioRingBufferSpecReadSeglatency s = withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 360) :: IO Int32+ return val++type family ResolveAudioRingBufferSpecMethod (t :: Symbol) (o :: *) :: * where+ ResolveAudioRingBufferSpecMethod l o = MethodResolutionFailed l o++instance (info ~ ResolveAudioRingBufferSpecMethod t AudioRingBufferSpec, MethodInfo info AudioRingBufferSpec p) => IsLabelProxy t (AudioRingBufferSpec -> p) where+ fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)++#if MIN_VERSION_base(4,9,0)+instance (info ~ ResolveAudioRingBufferSpecMethod t AudioRingBufferSpec, MethodInfo info AudioRingBufferSpec p) => IsLabel t (AudioRingBufferSpec -> p) where+ fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)+#endif++
+ GI/GstAudio/Structs/AudioRingBufferSpec.hs-boot view
@@ -0,0 +1,10 @@+module GI.GstAudio.Structs.AudioRingBufferSpec where++import Prelude ()+import Data.GI.Base.ShortPrelude++import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map++newtype AudioRingBufferSpec = AudioRingBufferSpec (ForeignPtr AudioRingBufferSpec)
+ GI/GstAudio/Types.hs view
@@ -0,0 +1,44 @@+module GI.GstAudio.Types+ ( module GI.GstAudio.Interfaces.StreamVolume,+ module GI.GstAudio.Objects.AudioBaseSink,+ module GI.GstAudio.Objects.AudioBaseSrc ,+ module GI.GstAudio.Objects.AudioCdSrc ,+ module GI.GstAudio.Objects.AudioClock ,+ module GI.GstAudio.Objects.AudioDecoder ,+ module GI.GstAudio.Objects.AudioEncoder ,+ module GI.GstAudio.Objects.AudioFilter ,+ module GI.GstAudio.Objects.AudioRingBuffer,+ module GI.GstAudio.Objects.AudioSink ,+ module GI.GstAudio.Objects.AudioSrc ,+ module GI.GstAudio.Structs.AudioCdSrcTrack,+ module GI.GstAudio.Structs.AudioDownmixMeta,+ module GI.GstAudio.Structs.AudioFormatInfo,+ module GI.GstAudio.Structs.AudioInfo ,+ module GI.GstAudio.Structs.AudioRingBufferSpec,+ module GI.GstAudio.Enums ,+ module GI.GstAudio.Flags ,+++ ) where+++import {-# SOURCE #-} GI.GstAudio.Interfaces.StreamVolume+import {-# SOURCE #-} GI.GstAudio.Objects.AudioBaseSink+import {-# SOURCE #-} GI.GstAudio.Objects.AudioBaseSrc+import {-# SOURCE #-} GI.GstAudio.Objects.AudioCdSrc+import {-# SOURCE #-} GI.GstAudio.Objects.AudioClock+import {-# SOURCE #-} GI.GstAudio.Objects.AudioDecoder+import {-# SOURCE #-} GI.GstAudio.Objects.AudioEncoder+import {-# SOURCE #-} GI.GstAudio.Objects.AudioFilter+import {-# SOURCE #-} GI.GstAudio.Objects.AudioRingBuffer+import {-# SOURCE #-} GI.GstAudio.Objects.AudioSink+import {-# SOURCE #-} GI.GstAudio.Objects.AudioSrc+import {-# SOURCE #-} GI.GstAudio.Structs.AudioCdSrcTrack+import {-# SOURCE #-} GI.GstAudio.Structs.AudioDownmixMeta+import {-# SOURCE #-} GI.GstAudio.Structs.AudioFormatInfo+import {-# SOURCE #-} GI.GstAudio.Structs.AudioInfo+import {-# SOURCE #-} GI.GstAudio.Structs.AudioRingBufferSpec++import GI.GstAudio.Enums+import GI.GstAudio.Flags+
+ LICENSE view
@@ -0,0 +1,456 @@+ GNU LESSER GENERAL PUBLIC LICENSE+ Version 2.1, February 1999++ Copyright (C) 1991, 1999 Free Software Foundation, Inc.+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++[This is the first released version of the Lesser GPL. It also counts+ as the successor of the GNU Library Public License, version 2, hence+ the version number 2.1.]++ Preamble++ The licenses for most software are designed to take away your+freedom to share and change it. By contrast, the GNU General Public+Licenses are intended to guarantee your freedom to share and change+free software--to make sure the software is free for all its users.++ This license, the Lesser General Public License, applies to some+specially designated software packages--typically libraries--of the+Free Software Foundation and other authors who decide to use it. You+can use it too, but we suggest you first think carefully about whether+this license or the ordinary General Public License is the better+strategy to use in any particular case, based on the explanations below.++ When we speak of free software, we are referring to freedom of use,+not price. Our General Public Licenses are designed to make sure that+you have the freedom to distribute copies of free software (and charge+for this service if you wish); that you receive source code or can get+it if you want it; that you can change the software and use pieces of+it in new free programs; and that you are informed that you can do+these things.++ To protect your rights, we need to make restrictions that forbid+distributors to deny you these rights or to ask you to surrender these+rights. These restrictions translate to certain responsibilities for+you if you distribute copies of the library or if you modify it.++ For example, if you distribute copies of the library, whether gratis+or for a fee, you must give the recipients all the rights that we gave+you. You must make sure that they, too, receive or can get the source+code. If you link other code with the library, you must provide+complete object files to the recipients, so that they can relink them+with the library after making changes to the library and recompiling+it. And you must show them these terms so they know their rights.++ We protect your rights with a two-step method: (1) we copyright the+library, and (2) we offer you this license, which gives you legal+permission to copy, distribute and/or modify the library.++ To protect each distributor, we want to make it very clear that+there is no warranty for the free library. Also, if the library is+modified by someone else and passed on, the recipients should know+that what they have is not the original version, so that the original+author's reputation will not be affected by problems that might be+introduced by others.++ Finally, software patents pose a constant threat to the existence of+any free program. We wish to make sure that a company cannot+effectively restrict the users of a free program by obtaining a+restrictive license from a patent holder. Therefore, we insist that+any patent license obtained for a version of the library must be+consistent with the full freedom of use specified in this license.++ Most GNU software, including some libraries, is covered by the+ordinary GNU General Public License. This license, the GNU Lesser+General Public License, applies to certain designated libraries, and+is quite different from the ordinary General Public License. We use+this license for certain libraries in order to permit linking those+libraries into non-free programs.++ When a program is linked with a library, whether statically or using+a shared library, the combination of the two is legally speaking a+combined work, a derivative of the original library. The ordinary+General Public License therefore permits such linking only if the+entire combination fits its criteria of freedom. The Lesser General+Public License permits more lax criteria for linking other code with+the library.++ We call this license the "Lesser" General Public License because it+does Less to protect the user's freedom than the ordinary General+Public License. It also provides other free software developers Less+of an advantage over competing non-free programs. These disadvantages+are the reason we use the ordinary General Public License for many+libraries. However, the Lesser license provides advantages in certain+special circumstances.++ For example, on rare occasions, there may be a special need to+encourage the widest possible use of a certain library, so that it becomes+a de-facto standard. To achieve this, non-free programs must be+allowed to use the library. A more frequent case is that a free+library does the same job as widely used non-free libraries. In this+case, there is little to gain by limiting the free library to free+software only, so we use the Lesser General Public License.++ In other cases, permission to use a particular library in non-free+programs enables a greater number of people to use a large body of+free software. For example, permission to use the GNU C Library in+non-free programs enables many more people to use the whole GNU+operating system, as well as its variant, the GNU/Linux operating+system.++ Although the Lesser General Public License is Less protective of the+users' freedom, it does ensure that the user of a program that is+linked with the Library has the freedom and the wherewithal to run+that program using a modified version of the Library.++ The precise terms and conditions for copying, distribution and+modification follow. Pay close attention to the difference between a+"work based on the library" and a "work that uses the library". The+former contains code derived from the library, whereas the latter must+be combined with the library in order to run.++ GNU LESSER GENERAL PUBLIC LICENSE+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION++ 0. This License Agreement applies to any software library or other+program which contains a notice placed by the copyright holder or+other authorized party saying it may be distributed under the terms of+this Lesser General Public License (also called "this License").+Each licensee is addressed as "you".++ A "library" means a collection of software functions and/or data+prepared so as to be conveniently linked with application programs+(which use some of those functions and data) to form executables.++ The "Library", below, refers to any such software library or work+which has been distributed under these terms. A "work based on the+Library" means either the Library or any derivative work under+copyright law: that is to say, a work containing the Library or a+portion of it, either verbatim or with modifications and/or translated+straightforwardly into another language. (Hereinafter, translation is+included without limitation in the term "modification".)++ "Source code" for a work means the preferred form of the work for+making modifications to it. For a library, complete source code means+all the source code for all modules it contains, plus any associated+interface definition files, plus the scripts used to control compilation+and installation of the library.++ Activities other than copying, distribution and modification are not+covered by this License; they are outside its scope. The act of+running a program using the Library is not restricted, and output from+such a program is covered only if its contents constitute a work based+on the Library (independent of the use of the Library in a tool for+writing it). Whether that is true depends on what the Library does+and what the program that uses the Library does.++ 1. You may copy and distribute verbatim copies of the Library's+complete source code as you receive it, in any medium, provided that+you conspicuously and appropriately publish on each copy an+appropriate copyright notice and disclaimer of warranty; keep intact+all the notices that refer to this License and to the absence of any+warranty; and distribute a copy of this License along with the+Library.++ You may charge a fee for the physical act of transferring a copy,+and you may at your option offer warranty protection in exchange for a+fee.++ 2. You may modify your copy or copies of the Library or any portion+of it, thus forming a work based on the Library, and copy and+distribute such modifications or work under the terms of Section 1+above, provided that you also meet all of these conditions:++ a) The modified work must itself be a software library.++ b) You must cause the files modified to carry prominent notices+ stating that you changed the files and the date of any change.++ c) You must cause the whole of the work to be licensed at no+ charge to all third parties under the terms of this License.++ d) If a facility in the modified Library refers to a function or a+ table of data to be supplied by an application program that uses+ the facility, other than as an argument passed when the facility+ is invoked, then you must make a good faith effort to ensure that,+ in the event an application does not supply such function or+ table, the facility still operates, and performs whatever part of+ its purpose remains meaningful.++ (For example, a function in a library to compute square roots has+ a purpose that is entirely well-defined independent of the+ application. Therefore, Subsection 2d requires that any+ application-supplied function or table used by this function must+ be optional: if the application does not supply it, the square+ root function must still compute square roots.)++These requirements apply to the modified work as a whole. If+identifiable sections of that work are not derived from the Library,+and can be reasonably considered independent and separate works in+themselves, then this License, and its terms, do not apply to those+sections when you distribute them as separate works. But when you+distribute the same sections as part of a whole which is a work based+on the Library, the distribution of the whole must be on the terms of+this License, whose permissions for other licensees extend to the+entire whole, and thus to each and every part regardless of who wrote+it.++Thus, it is not the intent of this section to claim rights or contest+your rights to work written entirely by you; rather, the intent is to+exercise the right to control the distribution of derivative or+collective works based on the Library.++In addition, mere aggregation of another work not based on the Library+with the Library (or with a work based on the Library) on a volume of+a storage or distribution medium does not bring the other work under+the scope of this License.++ 3. You may opt to apply the terms of the ordinary GNU General Public+License instead of this License to a given copy of the Library. To do+this, you must alter all the notices that refer to this License, so+that they refer to the ordinary GNU General Public License, version 2,+instead of to this License. (If a newer version than version 2 of the+ordinary GNU General Public License has appeared, then you can specify+that version instead if you wish.) Do not make any other change in+these notices.++ Once this change is made in a given copy, it is irreversible for+that copy, so the ordinary GNU General Public License applies to all+subsequent copies and derivative works made from that copy.++ This option is useful when you wish to copy part of the code of+the Library into a program that is not a library.++ 4. You may copy and distribute the Library (or a portion or+derivative of it, under Section 2) in object code or executable form+under the terms of Sections 1 and 2 above provided that you accompany+it with the complete corresponding machine-readable source code, which+must be distributed under the terms of Sections 1 and 2 above on a+medium customarily used for software interchange.++ If distribution of object code is made by offering access to copy+from a designated place, then offering equivalent access to copy the+source code from the same place satisfies the requirement to+distribute the source code, even though third parties are not+compelled to copy the source along with the object code.++ 5. A program that contains no derivative of any portion of the+Library, but is designed to work with the Library by being compiled or+linked with it, is called a "work that uses the Library". Such a+work, in isolation, is not a derivative work of the Library, and+therefore falls outside the scope of this License.++ However, linking a "work that uses the Library" with the Library+creates an executable that is a derivative of the Library (because it+contains portions of the Library), rather than a "work that uses the+library". The executable is therefore covered by this License.+Section 6 states terms for distribution of such executables.++ When a "work that uses the Library" uses material from a header file+that is part of the Library, the object code for the work may be a+derivative work of the Library even though the source code is not.+Whether this is true is especially significant if the work can be+linked without the Library, or if the work is itself a library. The+threshold for this to be true is not precisely defined by law.++ If such an object file uses only numerical parameters, data+structure layouts and accessors, and small macros and small inline+functions (ten lines or less in length), then the use of the object+file is unrestricted, regardless of whether it is legally a derivative+work. (Executables containing this object code plus portions of the+Library will still fall under Section 6.)++ Otherwise, if the work is a derivative of the Library, you may+distribute the object code for the work under the terms of Section 6.+Any executables containing that work also fall under Section 6,+whether or not they are linked directly with the Library itself.++ 6. As an exception to the Sections above, you may also combine or+link a "work that uses the Library" with the Library to produce a+work containing portions of the Library, and distribute that work+under terms of your choice, provided that the terms permit+modification of the work for the customer's own use and reverse+engineering for debugging such modifications.++ You must give prominent notice with each copy of the work that the+Library is used in it and that the Library and its use are covered by+this License. You must supply a copy of this License. If the work+during execution displays copyright notices, you must include the+copyright notice for the Library among them, as well as a reference+directing the user to the copy of this License. Also, you must do one+of these things:++ a) Accompany the work with the complete corresponding+ machine-readable source code for the Library including whatever+ changes were used in the work (which must be distributed under+ Sections 1 and 2 above); and, if the work is an executable linked+ with the Library, with the complete machine-readable "work that+ uses the Library", as object code and/or source code, so that the+ user can modify the Library and then relink to produce a modified+ executable containing the modified Library. (It is understood+ that the user who changes the contents of definitions files in the+ Library will not necessarily be able to recompile the application+ to use the modified definitions.)++ b) Use a suitable shared library mechanism for linking with the+ Library. A suitable mechanism is one that (1) uses at run time a+ copy of the library already present on the user's computer system,+ rather than copying library functions into the executable, and (2)+ will operate properly with a modified version of the library, if+ the user installs one, as long as the modified version is+ interface-compatible with the version that the work was made with.++ c) Accompany the work with a written offer, valid for at+ least three years, to give the same user the materials+ specified in Subsection 6a, above, for a charge no more+ than the cost of performing this distribution.++ d) If distribution of the work is made by offering access to copy+ from a designated place, offer equivalent access to copy the above+ specified materials from the same place.++ e) Verify that the user has already received a copy of these+ materials or that you have already sent this user a copy.++ For an executable, the required form of the "work that uses the+Library" must include any data and utility programs needed for+reproducing the executable from it. However, as a special exception,+the materials to be distributed need not include anything that is+normally distributed (in either source or binary form) with the major+components (compiler, kernel, and so on) of the operating system on+which the executable runs, unless that component itself accompanies+the executable.++ It may happen that this requirement contradicts the license+restrictions of other proprietary libraries that do not normally+accompany the operating system. Such a contradiction means you cannot+use both them and the Library together in an executable that you+distribute.++ 7. You may place library facilities that are a work based on the+Library side-by-side in a single library together with other library+facilities not covered by this License, and distribute such a combined+library, provided that the separate distribution of the work based on+the Library and of the other library facilities is otherwise+permitted, and provided that you do these two things:++ a) Accompany the combined library with a copy of the same work+ based on the Library, uncombined with any other library+ facilities. This must be distributed under the terms of the+ Sections above.++ b) Give prominent notice with the combined library of the fact+ that part of it is a work based on the Library, and explaining+ where to find the accompanying uncombined form of the same work.++ 8. You may not copy, modify, sublicense, link with, or distribute+the Library except as expressly provided under this License. Any+attempt otherwise to copy, modify, sublicense, link with, or+distribute the Library is void, and will automatically terminate your+rights under this License. However, parties who have received copies,+or rights, from you under this License will not have their licenses+terminated so long as such parties remain in full compliance.++ 9. You are not required to accept this License, since you have not+signed it. However, nothing else grants you permission to modify or+distribute the Library or its derivative works. These actions are+prohibited by law if you do not accept this License. Therefore, by+modifying or distributing the Library (or any work based on the+Library), you indicate your acceptance of this License to do so, and+all its terms and conditions for copying, distributing or modifying+the Library or works based on it.++ 10. Each time you redistribute the Library (or any work based on the+Library), the recipient automatically receives a license from the+original licensor to copy, distribute, link with or modify the Library+subject to these terms and conditions. You may not impose any further+restrictions on the recipients' exercise of the rights granted herein.+You are not responsible for enforcing compliance by third parties with+this License.++ 11. If, as a consequence of a court judgment or allegation of patent+infringement or for any other reason (not limited to patent issues),+conditions are imposed on you (whether by court order, agreement or+otherwise) that contradict the conditions of this License, they do not+excuse you from the conditions of this License. If you cannot+distribute so as to satisfy simultaneously your obligations under this+License and any other pertinent obligations, then as a consequence you+may not distribute the Library at all. For example, if a patent+license would not permit royalty-free redistribution of the Library by+all those who receive copies directly or indirectly through you, then+the only way you could satisfy both it and this License would be to+refrain entirely from distribution of the Library.++If any portion of this section is held invalid or unenforceable under any+particular circumstance, the balance of the section is intended to apply,+and the section as a whole is intended to apply in other circumstances.++It is not the purpose of this section to induce you to infringe any+patents or other property right claims or to contest validity of any+such claims; this section has the sole purpose of protecting the+integrity of the free software distribution system which is+implemented by public license practices. Many people have made+generous contributions to the wide range of software distributed+through that system in reliance on consistent application of that+system; it is up to the author/donor to decide if he or she is willing+to distribute software through any other system and a licensee cannot+impose that choice.++This section is intended to make thoroughly clear what is believed to+be a consequence of the rest of this License.++ 12. If the distribution and/or use of the Library is restricted in+certain countries either by patents or by copyrighted interfaces, the+original copyright holder who places the Library under this License may add+an explicit geographical distribution limitation excluding those countries,+so that distribution is permitted only in or among countries not thus+excluded. In such case, this License incorporates the limitation as if+written in the body of this License.++ 13. The Free Software Foundation may publish revised and/or new+versions of the Lesser General Public License from time to time.+Such new versions will be similar in spirit to the present version,+but may differ in detail to address new problems or concerns.++Each version is given a distinguishing version number. If the Library+specifies a version number of this License which applies to it and+"any later version", you have the option of following the terms and+conditions either of that version or of any later version published by+the Free Software Foundation. If the Library does not specify a+license version number, you may choose any version ever published by+the Free Software Foundation.++ 14. If you wish to incorporate parts of the Library into other free+programs whose distribution conditions are incompatible with these,+write to the author to ask for permission. For software which is+copyrighted by the Free Software Foundation, write to the Free+Software Foundation; we sometimes make exceptions for this. Our+decision will be guided by the two goals of preserving the free status+of all derivatives of our free software and of promoting the sharing+and reuse of software generally.++ NO WARRANTY++ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.++ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH+DAMAGES.
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ gi-gstaudio.cabal view
@@ -0,0 +1,56 @@+-- Autogenerated, do not edit.+name: gi-gstaudio+version: 0.1.6.13+synopsis: GstAudio bindings+description: Bindings for GstAudio, autogenerated by haskell-gi.+homepage: https://github.com/haskell-gi/haskell-gi+license: LGPL-2.1+license-file: LICENSE+author: Will Thompson, Iñaki García Etxebarria and Jonas Platte+maintainer: Iñaki García Etxebarria (garetxe@gmail.com)+category: Bindings+build-type: Simple+cabal-version: >=1.10++library+ default-language: Haskell2010+ default-extensions: ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+ other-extensions: PatternSynonyms ViewPatterns+ ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations+ exposed-modules: GI.GstAudio.Types+ GI.GstAudio+ GI.GstAudio.Callbacks+ GI.GstAudio.Constants+ GI.GstAudio.Enums+ GI.GstAudio.Flags+ GI.GstAudio.Functions+ GI.GstAudio.Interfaces+ GI.GstAudio.Interfaces.StreamVolume+ GI.GstAudio.Objects+ GI.GstAudio.Objects.AudioBaseSink+ GI.GstAudio.Objects.AudioBaseSrc+ GI.GstAudio.Objects.AudioCdSrc+ GI.GstAudio.Objects.AudioClock+ GI.GstAudio.Objects.AudioDecoder+ GI.GstAudio.Objects.AudioEncoder+ GI.GstAudio.Objects.AudioFilter+ GI.GstAudio.Objects.AudioRingBuffer+ GI.GstAudio.Objects.AudioSink+ GI.GstAudio.Objects.AudioSrc+ GI.GstAudio.Structs+ GI.GstAudio.Structs.AudioCdSrcTrack+ GI.GstAudio.Structs.AudioDownmixMeta+ GI.GstAudio.Structs.AudioFormatInfo+ GI.GstAudio.Structs.AudioInfo+ GI.GstAudio.Structs.AudioRingBufferSpec+ pkgconfig-depends: gstreamer-audio-1.0 >= 1.6+ build-depends: base >= 4.7 && <5,+ haskell-gi-base >= 0.13 && < 1,+ gi-glib >= 0.2.46.13 && < 0.2.47,+ gi-gobject >= 0.2.46.13 && < 0.2.47,+ gi-gst >= 0.1.6.13 && < 0.1.7,+ gi-gstbase >= 0.1.6.13 && < 0.1.7,+ bytestring >= 0.10,+ containers >= 0.5,+ text >= 1.0,+ transformers >= 0.3