diff --git a/GI/GstAudio.hs b/GI/GstAudio.hs
deleted file mode 100644
--- a/GI/GstAudio.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-{- |
-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
-
diff --git a/GI/GstAudio/Callbacks.hs b/GI/GstAudio/Callbacks.hs
deleted file mode 100644
--- a/GI/GstAudio/Callbacks.hs
+++ /dev/null
@@ -1,270 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Constants.hs b/GI/GstAudio/Constants.hs
deleted file mode 100644
--- a/GI/GstAudio/Constants.hs
+++ /dev/null
@@ -1,77 +0,0 @@
-{-# 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
-
-
diff --git a/GI/GstAudio/Enums.hs b/GI/GstAudio/Enums.hs
deleted file mode 100644
--- a/GI/GstAudio/Enums.hs
+++ /dev/null
@@ -1,544 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Flags.hs b/GI/GstAudio/Flags.hs
deleted file mode 100644
--- a/GI/GstAudio/Flags.hs
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Functions.hs b/GI/GstAudio/Functions.hs
deleted file mode 100644
--- a/GI/GstAudio/Functions.hs
+++ /dev/null
@@ -1,506 +0,0 @@
-
-
-{- |
-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'
-
-
-
diff --git a/GI/GstAudio/Interfaces.hs b/GI/GstAudio/Interfaces.hs
deleted file mode 100644
--- a/GI/GstAudio/Interfaces.hs
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Interfaces/StreamVolume.hs b/GI/GstAudio/Interfaces/StreamVolume.hs
deleted file mode 100644
--- a/GI/GstAudio/Interfaces/StreamVolume.hs
+++ /dev/null
@@ -1,341 +0,0 @@
-
-
-{- |
-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'
-
-
diff --git a/GI/GstAudio/Interfaces/StreamVolume.hs-boot b/GI/GstAudio/Interfaces/StreamVolume.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Interfaces/StreamVolume.hs-boot
+++ /dev/null
@@ -1,19 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects.hs b/GI/GstAudio/Objects.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects.hs
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Objects/AudioBaseSink.hs b/GI/GstAudio/Objects/AudioBaseSink.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioBaseSink.hs
+++ /dev/null
@@ -1,898 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Objects/AudioBaseSink.hs-boot b/GI/GstAudio/Objects/AudioBaseSink.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioBaseSink.hs-boot
+++ /dev/null
@@ -1,34 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioBaseSrc.hs b/GI/GstAudio/Objects/AudioBaseSrc.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioBaseSrc.hs
+++ /dev/null
@@ -1,534 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Objects/AudioBaseSrc.hs-boot b/GI/GstAudio/Objects/AudioBaseSrc.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioBaseSrc.hs-boot
+++ /dev/null
@@ -1,24 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioCdSrc.hs b/GI/GstAudio/Objects/AudioCdSrc.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioCdSrc.hs
+++ /dev/null
@@ -1,324 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Objects/AudioCdSrc.hs-boot b/GI/GstAudio/Objects/AudioCdSrc.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioCdSrc.hs-boot
+++ /dev/null
@@ -1,17 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioClock.hs b/GI/GstAudio/Objects/AudioClock.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioClock.hs
+++ /dev/null
@@ -1,293 +0,0 @@
-
-
-{- |
-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 ()
-
-
diff --git a/GI/GstAudio/Objects/AudioClock.hs-boot b/GI/GstAudio/Objects/AudioClock.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioClock.hs-boot
+++ /dev/null
@@ -1,14 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioDecoder.hs b/GI/GstAudio/Objects/AudioDecoder.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioDecoder.hs
+++ /dev/null
@@ -1,1320 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Objects/AudioDecoder.hs-boot b/GI/GstAudio/Objects/AudioDecoder.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioDecoder.hs-boot
+++ /dev/null
@@ -1,45 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioEncoder.hs b/GI/GstAudio/Objects/AudioEncoder.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioEncoder.hs
+++ /dev/null
@@ -1,1420 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Objects/AudioEncoder.hs-boot b/GI/GstAudio/Objects/AudioEncoder.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioEncoder.hs-boot
+++ /dev/null
@@ -1,48 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioFilter.hs b/GI/GstAudio/Objects/AudioFilter.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioFilter.hs
+++ /dev/null
@@ -1,178 +0,0 @@
-
-
-{- |
-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, *)])
-
-
diff --git a/GI/GstAudio/Objects/AudioFilter.hs-boot b/GI/GstAudio/Objects/AudioFilter.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioFilter.hs-boot
+++ /dev/null
@@ -1,13 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioRingBuffer.hs b/GI/GstAudio/Objects/AudioRingBuffer.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioRingBuffer.hs
+++ /dev/null
@@ -1,1175 +0,0 @@
-
-
-{- |
-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'
-
-
diff --git a/GI/GstAudio/Objects/AudioRingBuffer.hs-boot b/GI/GstAudio/Objects/AudioRingBuffer.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioRingBuffer.hs-boot
+++ /dev/null
@@ -1,40 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioSink.hs b/GI/GstAudio/Objects/AudioSink.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioSink.hs
+++ /dev/null
@@ -1,204 +0,0 @@
-
-
-{- |
-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, *)])
-
-
diff --git a/GI/GstAudio/Objects/AudioSink.hs-boot b/GI/GstAudio/Objects/AudioSink.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioSink.hs-boot
+++ /dev/null
@@ -1,13 +0,0 @@
-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
diff --git a/GI/GstAudio/Objects/AudioSrc.hs b/GI/GstAudio/Objects/AudioSrc.hs
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioSrc.hs
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-{- |
-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, *)])
-
-
diff --git a/GI/GstAudio/Objects/AudioSrc.hs-boot b/GI/GstAudio/Objects/AudioSrc.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Objects/AudioSrc.hs-boot
+++ /dev/null
@@ -1,13 +0,0 @@
-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
diff --git a/GI/GstAudio/Structs.hs b/GI/GstAudio/Structs.hs
deleted file mode 100644
--- a/GI/GstAudio/Structs.hs
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Structs/AudioCdSrcTrack.hs b/GI/GstAudio/Structs/AudioCdSrcTrack.hs
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioCdSrcTrack.hs
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Structs/AudioCdSrcTrack.hs-boot b/GI/GstAudio/Structs/AudioCdSrcTrack.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioCdSrcTrack.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-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)
diff --git a/GI/GstAudio/Structs/AudioDownmixMeta.hs b/GI/GstAudio/Structs/AudioDownmixMeta.hs
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioDownmixMeta.hs
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Structs/AudioDownmixMeta.hs-boot b/GI/GstAudio/Structs/AudioDownmixMeta.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioDownmixMeta.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-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)
diff --git a/GI/GstAudio/Structs/AudioFormatInfo.hs b/GI/GstAudio/Structs/AudioFormatInfo.hs
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioFormatInfo.hs
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Structs/AudioFormatInfo.hs-boot b/GI/GstAudio/Structs/AudioFormatInfo.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioFormatInfo.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-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)
diff --git a/GI/GstAudio/Structs/AudioInfo.hs b/GI/GstAudio/Structs/AudioInfo.hs
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioInfo.hs
+++ /dev/null
@@ -1,450 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Structs/AudioInfo.hs-boot b/GI/GstAudio/Structs/AudioInfo.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioInfo.hs-boot
+++ /dev/null
@@ -1,19 +0,0 @@
-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
diff --git a/GI/GstAudio/Structs/AudioRingBufferSpec.hs b/GI/GstAudio/Structs/AudioRingBufferSpec.hs
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioRingBufferSpec.hs
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-{- |
-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
-
-
diff --git a/GI/GstAudio/Structs/AudioRingBufferSpec.hs-boot b/GI/GstAudio/Structs/AudioRingBufferSpec.hs-boot
deleted file mode 100644
--- a/GI/GstAudio/Structs/AudioRingBufferSpec.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-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)
diff --git a/GI/GstAudio/Types.hs b/GI/GstAudio/Types.hs
deleted file mode 100644
--- a/GI/GstAudio/Types.hs
+++ /dev/null
@@ -1,44 +0,0 @@
-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
-
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,3 +1,12 @@
-#!/usr/bin/env runhaskell
-import Distribution.Simple
-main = defaultMain
+{-# LANGUAGE OverloadedStrings #-}
+
+import Distribution.Simple (defaultMainWithHooks)
+import Data.GI.CodeGen.CabalHooks (simpleHaskellGIHooks)
+
+main = defaultMainWithHooks (simpleHaskellGIHooks name version verbose
+                             overridesFile outputDir)
+    where name = "GstAudio"
+          version = "1.0"
+          verbose = False
+          overridesFile = Nothing
+          outputDir = Nothing
diff --git a/gi-gstaudio.cabal b/gi-gstaudio.cabal
--- a/gi-gstaudio.cabal
+++ b/gi-gstaudio.cabal
@@ -1,56 +1,35 @@
--- Autogenerated, do not edit.
 name:               gi-gstaudio
-version:            0.1.6.13
-synopsis:           GstAudio bindings
-description:        Bindings for GstAudio, autogenerated by haskell-gi.
+version:            1.0.1
+synopsis:           GStreamerAudio bindings
+description:        Bindings for GStreamerAudio, 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
+build-type:         Custom
+cabal-version:      >= 1.24
 
+custom-setup
+  setup-depends: base >= 4.8,
+                 Cabal >= 1.24,
+                 haskell-gi >= 0.15
+
 library
     default-language:   Haskell2010
-    default-extensions: ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
+    default-extensions: NoImplicitPrelude, 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
+
+    pkgconfig-depends:  gstreamer-audio-1.0
     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,
+        haskell-gi-base >= 0.15 && < 1,
+        gi-glib == 2.0.*,
+        gi-gobject == 2.0.*,
+        gi-gst == 1.0.*,
+        gi-gstbase == 1.0.*,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
-        transformers >= 0.3
+        transformers >= 0.5
