-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.GstAudio.Enums
    ( 

 -- * Enumerations


-- ** AudioBaseSinkDiscontReason #enum:AudioBaseSinkDiscontReason#

    AudioBaseSinkDiscontReason(..)          ,


-- ** AudioBaseSinkSlaveMethod #enum:AudioBaseSinkSlaveMethod#

    AudioBaseSinkSlaveMethod(..)            ,


-- ** AudioBaseSrcSlaveMethod #enum:AudioBaseSrcSlaveMethod#

    AudioBaseSrcSlaveMethod(..)             ,


-- ** AudioCdSrcMode #enum:AudioCdSrcMode#

    AudioCdSrcMode(..)                      ,


-- ** AudioChannelPosition #enum:AudioChannelPosition#

    AudioChannelPosition(..)                ,


-- ** AudioDitherMethod #enum:AudioDitherMethod#

    AudioDitherMethod(..)                   ,


-- ** AudioFormat #enum:AudioFormat#

    AudioFormat(..)                         ,


-- ** AudioLayout #enum:AudioLayout#

    AudioLayout(..)                         ,


-- ** AudioNoiseShapingMethod #enum:AudioNoiseShapingMethod#

    AudioNoiseShapingMethod(..)             ,


-- ** AudioResamplerFilterInterpolation #enum:AudioResamplerFilterInterpolation#

    AudioResamplerFilterInterpolation(..)   ,


-- ** AudioResamplerFilterMode #enum:AudioResamplerFilterMode#

    AudioResamplerFilterMode(..)            ,


-- ** AudioResamplerMethod #enum:AudioResamplerMethod#

    AudioResamplerMethod(..)                ,


-- ** AudioRingBufferFormatType #enum:AudioRingBufferFormatType#

    AudioRingBufferFormatType(..)           ,


-- ** AudioRingBufferState #enum:AudioRingBufferState#

    AudioRingBufferState(..)                ,


-- ** StreamVolumeFormat #enum:StreamVolumeFormat#

    StreamVolumeFormat(..)                  ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R


-- Enum StreamVolumeFormat
-- | Different representations of a stream volume. 'GI.GstAudio.Functions.streamVolumeConvertVolume'
-- allows to convert between the different representations.
-- 
-- Formulas to convert from a linear to a cubic or dB volume are
-- cbrt(val) and 20 * log10 (val).
data StreamVolumeFormat = 
      StreamVolumeFormatLinear
    -- ^ Linear scale factor, 1.0 = 100%
    | StreamVolumeFormatCubic
    -- ^ Cubic volume scale
    | StreamVolumeFormatDb
    -- ^ Logarithmic volume scale (dB, amplitude not power)
    | AnotherStreamVolumeFormat Int
    -- ^ Catch-all for unknown values
    deriving (Int -> StreamVolumeFormat -> ShowS
[StreamVolumeFormat] -> ShowS
StreamVolumeFormat -> String
(Int -> StreamVolumeFormat -> ShowS)
-> (StreamVolumeFormat -> String)
-> ([StreamVolumeFormat] -> ShowS)
-> Show StreamVolumeFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StreamVolumeFormat] -> ShowS
$cshowList :: [StreamVolumeFormat] -> ShowS
show :: StreamVolumeFormat -> String
$cshow :: StreamVolumeFormat -> String
showsPrec :: Int -> StreamVolumeFormat -> ShowS
$cshowsPrec :: Int -> StreamVolumeFormat -> ShowS
Show, StreamVolumeFormat -> StreamVolumeFormat -> Bool
(StreamVolumeFormat -> StreamVolumeFormat -> Bool)
-> (StreamVolumeFormat -> StreamVolumeFormat -> Bool)
-> Eq StreamVolumeFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
$c/= :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
== :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
$c== :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
Eq)

instance P.Enum StreamVolumeFormat where
    fromEnum :: StreamVolumeFormat -> Int
fromEnum StreamVolumeFormat
StreamVolumeFormatLinear = Int
0
    fromEnum StreamVolumeFormat
StreamVolumeFormatCubic = Int
1
    fromEnum StreamVolumeFormat
StreamVolumeFormatDb = Int
2
    fromEnum (AnotherStreamVolumeFormat Int
k) = Int
k

    toEnum :: Int -> StreamVolumeFormat
toEnum Int
0 = StreamVolumeFormat
StreamVolumeFormatLinear
    toEnum Int
1 = StreamVolumeFormat
StreamVolumeFormatCubic
    toEnum Int
2 = StreamVolumeFormat
StreamVolumeFormatDb
    toEnum Int
k = Int -> StreamVolumeFormat
AnotherStreamVolumeFormat Int
k

instance P.Ord StreamVolumeFormat where
    compare :: StreamVolumeFormat -> StreamVolumeFormat -> Ordering
compare StreamVolumeFormat
a StreamVolumeFormat
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (StreamVolumeFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum StreamVolumeFormat
a) (StreamVolumeFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum StreamVolumeFormat
b)

-- Enum AudioRingBufferState
-- | The state of the ringbuffer.
data AudioRingBufferState = 
      AudioRingBufferStateStopped
    -- ^ The ringbuffer is stopped
    | AudioRingBufferStatePaused
    -- ^ The ringbuffer is paused
    | AudioRingBufferStateStarted
    -- ^ The ringbuffer is started
    | AudioRingBufferStateError
    -- ^ The ringbuffer has encountered an
    --     error after it has been started, e.g. because the device was
    --     disconnected (Since: 1.2)
    | AnotherAudioRingBufferState Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioRingBufferState -> ShowS
[AudioRingBufferState] -> ShowS
AudioRingBufferState -> String
(Int -> AudioRingBufferState -> ShowS)
-> (AudioRingBufferState -> String)
-> ([AudioRingBufferState] -> ShowS)
-> Show AudioRingBufferState
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioRingBufferState] -> ShowS
$cshowList :: [AudioRingBufferState] -> ShowS
show :: AudioRingBufferState -> String
$cshow :: AudioRingBufferState -> String
showsPrec :: Int -> AudioRingBufferState -> ShowS
$cshowsPrec :: Int -> AudioRingBufferState -> ShowS
Show, AudioRingBufferState -> AudioRingBufferState -> Bool
(AudioRingBufferState -> AudioRingBufferState -> Bool)
-> (AudioRingBufferState -> AudioRingBufferState -> Bool)
-> Eq AudioRingBufferState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioRingBufferState -> AudioRingBufferState -> Bool
$c/= :: AudioRingBufferState -> AudioRingBufferState -> Bool
== :: AudioRingBufferState -> AudioRingBufferState -> Bool
$c== :: AudioRingBufferState -> AudioRingBufferState -> Bool
Eq)

instance P.Enum AudioRingBufferState where
    fromEnum :: AudioRingBufferState -> Int
fromEnum AudioRingBufferState
AudioRingBufferStateStopped = Int
0
    fromEnum AudioRingBufferState
AudioRingBufferStatePaused = Int
1
    fromEnum AudioRingBufferState
AudioRingBufferStateStarted = Int
2
    fromEnum AudioRingBufferState
AudioRingBufferStateError = Int
3
    fromEnum (AnotherAudioRingBufferState Int
k) = Int
k

    toEnum :: Int -> AudioRingBufferState
toEnum Int
0 = AudioRingBufferState
AudioRingBufferStateStopped
    toEnum Int
1 = AudioRingBufferState
AudioRingBufferStatePaused
    toEnum Int
2 = AudioRingBufferState
AudioRingBufferStateStarted
    toEnum Int
3 = AudioRingBufferState
AudioRingBufferStateError
    toEnum Int
k = Int -> AudioRingBufferState
AnotherAudioRingBufferState Int
k

instance P.Ord AudioRingBufferState where
    compare :: AudioRingBufferState -> AudioRingBufferState -> Ordering
compare AudioRingBufferState
a AudioRingBufferState
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioRingBufferState -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferState
a) (AudioRingBufferState -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferState
b)

type instance O.ParentTypes AudioRingBufferState = '[]
instance O.HasParentTypes AudioRingBufferState

foreign import ccall "gst_audio_ring_buffer_state_get_type" c_gst_audio_ring_buffer_state_get_type :: 
    IO GType

instance B.Types.TypedObject AudioRingBufferState where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_ring_buffer_state_get_type

instance B.Types.BoxedEnum AudioRingBufferState

-- Enum AudioRingBufferFormatType
-- | The format of the samples in the ringbuffer.
data AudioRingBufferFormatType = 
      AudioRingBufferFormatTypeRaw
    -- ^ samples in linear or float
    | AudioRingBufferFormatTypeMuLaw
    -- ^ samples in mulaw
    | AudioRingBufferFormatTypeALaw
    -- ^ samples in alaw
    | AudioRingBufferFormatTypeImaAdpcm
    -- ^ samples in ima adpcm
    | AudioRingBufferFormatTypeMpeg
    -- ^ samples in mpeg audio (but not AAC) format
    | AudioRingBufferFormatTypeGsm
    -- ^ samples in gsm format
    | AudioRingBufferFormatTypeIec958
    -- ^ samples in IEC958 frames (e.g. AC3)
    | AudioRingBufferFormatTypeAc3
    -- ^ samples in AC3 format
    | AudioRingBufferFormatTypeEac3
    -- ^ samples in EAC3 format
    | AudioRingBufferFormatTypeDts
    -- ^ samples in DTS format
    | AudioRingBufferFormatTypeMpeg2Aac
    -- ^ samples in MPEG-2 AAC ADTS format
    | AudioRingBufferFormatTypeMpeg4Aac
    -- ^ samples in MPEG-4 AAC ADTS format
    | AudioRingBufferFormatTypeMpeg2AacRaw
    -- ^ samples in MPEG-2 AAC raw format (Since: 1.12)
    | AudioRingBufferFormatTypeMpeg4AacRaw
    -- ^ samples in MPEG-4 AAC raw format (Since: 1.12)
    | AudioRingBufferFormatTypeFlac
    -- ^ samples in FLAC format (Since: 1.12)
    | AnotherAudioRingBufferFormatType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioRingBufferFormatType -> ShowS
[AudioRingBufferFormatType] -> ShowS
AudioRingBufferFormatType -> String
(Int -> AudioRingBufferFormatType -> ShowS)
-> (AudioRingBufferFormatType -> String)
-> ([AudioRingBufferFormatType] -> ShowS)
-> Show AudioRingBufferFormatType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioRingBufferFormatType] -> ShowS
$cshowList :: [AudioRingBufferFormatType] -> ShowS
show :: AudioRingBufferFormatType -> String
$cshow :: AudioRingBufferFormatType -> String
showsPrec :: Int -> AudioRingBufferFormatType -> ShowS
$cshowsPrec :: Int -> AudioRingBufferFormatType -> ShowS
Show, AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
(AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool)
-> (AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool)
-> Eq AudioRingBufferFormatType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
$c/= :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
== :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
$c== :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
Eq)

instance P.Enum AudioRingBufferFormatType where
    fromEnum :: AudioRingBufferFormatType -> Int
fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeRaw = Int
0
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeMuLaw = Int
1
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeALaw = Int
2
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeImaAdpcm = Int
3
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg = Int
4
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeGsm = Int
5
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeIec958 = Int
6
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeAc3 = Int
7
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeEac3 = Int
8
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeDts = Int
9
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg2Aac = Int
10
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg4Aac = Int
11
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg2AacRaw = Int
12
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg4AacRaw = Int
13
    fromEnum AudioRingBufferFormatType
AudioRingBufferFormatTypeFlac = Int
14
    fromEnum (AnotherAudioRingBufferFormatType Int
k) = Int
k

    toEnum :: Int -> AudioRingBufferFormatType
toEnum Int
0 = AudioRingBufferFormatType
AudioRingBufferFormatTypeRaw
    toEnum Int
1 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMuLaw
    toEnum Int
2 = AudioRingBufferFormatType
AudioRingBufferFormatTypeALaw
    toEnum Int
3 = AudioRingBufferFormatType
AudioRingBufferFormatTypeImaAdpcm
    toEnum Int
4 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg
    toEnum Int
5 = AudioRingBufferFormatType
AudioRingBufferFormatTypeGsm
    toEnum Int
6 = AudioRingBufferFormatType
AudioRingBufferFormatTypeIec958
    toEnum Int
7 = AudioRingBufferFormatType
AudioRingBufferFormatTypeAc3
    toEnum Int
8 = AudioRingBufferFormatType
AudioRingBufferFormatTypeEac3
    toEnum Int
9 = AudioRingBufferFormatType
AudioRingBufferFormatTypeDts
    toEnum Int
10 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg2Aac
    toEnum Int
11 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg4Aac
    toEnum Int
12 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg2AacRaw
    toEnum Int
13 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg4AacRaw
    toEnum Int
14 = AudioRingBufferFormatType
AudioRingBufferFormatTypeFlac
    toEnum Int
k = Int -> AudioRingBufferFormatType
AnotherAudioRingBufferFormatType Int
k

instance P.Ord AudioRingBufferFormatType where
    compare :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Ordering
compare AudioRingBufferFormatType
a AudioRingBufferFormatType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioRingBufferFormatType -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferFormatType
a) (AudioRingBufferFormatType -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferFormatType
b)

type instance O.ParentTypes AudioRingBufferFormatType = '[]
instance O.HasParentTypes AudioRingBufferFormatType

foreign import ccall "gst_audio_ring_buffer_format_type_get_type" c_gst_audio_ring_buffer_format_type_get_type :: 
    IO GType

instance B.Types.TypedObject AudioRingBufferFormatType where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_ring_buffer_format_type_get_type

instance B.Types.BoxedEnum AudioRingBufferFormatType

-- Enum AudioResamplerMethod
-- | Different subsampling and upsampling methods
-- 
-- /Since: 1.10/
data AudioResamplerMethod = 
      AudioResamplerMethodNearest
    -- ^ Duplicates the samples when
    --    upsampling and drops when downsampling
    | AudioResamplerMethodLinear
    -- ^ Uses linear interpolation to reconstruct
    --    missing samples and averaging to downsample
    | AudioResamplerMethodCubic
    -- ^ Uses cubic interpolation
    | AudioResamplerMethodBlackmanNuttall
    -- ^ Uses Blackman-Nuttall windowed sinc interpolation
    | AudioResamplerMethodKaiser
    -- ^ Uses Kaiser windowed sinc interpolation
    | AnotherAudioResamplerMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioResamplerMethod -> ShowS
[AudioResamplerMethod] -> ShowS
AudioResamplerMethod -> String
(Int -> AudioResamplerMethod -> ShowS)
-> (AudioResamplerMethod -> String)
-> ([AudioResamplerMethod] -> ShowS)
-> Show AudioResamplerMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioResamplerMethod] -> ShowS
$cshowList :: [AudioResamplerMethod] -> ShowS
show :: AudioResamplerMethod -> String
$cshow :: AudioResamplerMethod -> String
showsPrec :: Int -> AudioResamplerMethod -> ShowS
$cshowsPrec :: Int -> AudioResamplerMethod -> ShowS
Show, AudioResamplerMethod -> AudioResamplerMethod -> Bool
(AudioResamplerMethod -> AudioResamplerMethod -> Bool)
-> (AudioResamplerMethod -> AudioResamplerMethod -> Bool)
-> Eq AudioResamplerMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
$c/= :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
== :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
$c== :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
Eq)

instance P.Enum AudioResamplerMethod where
    fromEnum :: AudioResamplerMethod -> Int
fromEnum AudioResamplerMethod
AudioResamplerMethodNearest = Int
0
    fromEnum AudioResamplerMethod
AudioResamplerMethodLinear = Int
1
    fromEnum AudioResamplerMethod
AudioResamplerMethodCubic = Int
2
    fromEnum AudioResamplerMethod
AudioResamplerMethodBlackmanNuttall = Int
3
    fromEnum AudioResamplerMethod
AudioResamplerMethodKaiser = Int
4
    fromEnum (AnotherAudioResamplerMethod Int
k) = Int
k

    toEnum :: Int -> AudioResamplerMethod
toEnum Int
0 = AudioResamplerMethod
AudioResamplerMethodNearest
    toEnum Int
1 = AudioResamplerMethod
AudioResamplerMethodLinear
    toEnum Int
2 = AudioResamplerMethod
AudioResamplerMethodCubic
    toEnum Int
3 = AudioResamplerMethod
AudioResamplerMethodBlackmanNuttall
    toEnum Int
4 = AudioResamplerMethod
AudioResamplerMethodKaiser
    toEnum Int
k = Int -> AudioResamplerMethod
AnotherAudioResamplerMethod Int
k

instance P.Ord AudioResamplerMethod where
    compare :: AudioResamplerMethod -> AudioResamplerMethod -> Ordering
compare AudioResamplerMethod
a AudioResamplerMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioResamplerMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerMethod
a) (AudioResamplerMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerMethod
b)

type instance O.ParentTypes AudioResamplerMethod = '[]
instance O.HasParentTypes AudioResamplerMethod

foreign import ccall "gst_audio_resampler_method_get_type" c_gst_audio_resampler_method_get_type :: 
    IO GType

instance B.Types.TypedObject AudioResamplerMethod where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_resampler_method_get_type

instance B.Types.BoxedEnum AudioResamplerMethod

-- Enum AudioResamplerFilterMode
-- | Select for the filter tables should be set up.
-- 
-- /Since: 1.10/
data AudioResamplerFilterMode = 
      AudioResamplerFilterModeInterpolated
    -- ^ Use interpolated filter tables. This
    --     uses less memory but more CPU and is slightly less accurate but it allows for more
    --     efficient variable rate resampling with 'GI.GstAudio.Structs.AudioResampler.audioResamplerUpdate'.
    | AudioResamplerFilterModeFull
    -- ^ Use full filter table. This uses more memory
    --     but less CPU.
    | AudioResamplerFilterModeAuto
    -- ^ Automatically choose between interpolated
    --     and full filter tables.
    | AnotherAudioResamplerFilterMode Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioResamplerFilterMode -> ShowS
[AudioResamplerFilterMode] -> ShowS
AudioResamplerFilterMode -> String
(Int -> AudioResamplerFilterMode -> ShowS)
-> (AudioResamplerFilterMode -> String)
-> ([AudioResamplerFilterMode] -> ShowS)
-> Show AudioResamplerFilterMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioResamplerFilterMode] -> ShowS
$cshowList :: [AudioResamplerFilterMode] -> ShowS
show :: AudioResamplerFilterMode -> String
$cshow :: AudioResamplerFilterMode -> String
showsPrec :: Int -> AudioResamplerFilterMode -> ShowS
$cshowsPrec :: Int -> AudioResamplerFilterMode -> ShowS
Show, AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
(AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool)
-> (AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool)
-> Eq AudioResamplerFilterMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
$c/= :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
== :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
$c== :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
Eq)

instance P.Enum AudioResamplerFilterMode where
    fromEnum :: AudioResamplerFilterMode -> Int
fromEnum AudioResamplerFilterMode
AudioResamplerFilterModeInterpolated = Int
0
    fromEnum AudioResamplerFilterMode
AudioResamplerFilterModeFull = Int
1
    fromEnum AudioResamplerFilterMode
AudioResamplerFilterModeAuto = Int
2
    fromEnum (AnotherAudioResamplerFilterMode Int
k) = Int
k

    toEnum :: Int -> AudioResamplerFilterMode
toEnum Int
0 = AudioResamplerFilterMode
AudioResamplerFilterModeInterpolated
    toEnum Int
1 = AudioResamplerFilterMode
AudioResamplerFilterModeFull
    toEnum Int
2 = AudioResamplerFilterMode
AudioResamplerFilterModeAuto
    toEnum Int
k = Int -> AudioResamplerFilterMode
AnotherAudioResamplerFilterMode Int
k

instance P.Ord AudioResamplerFilterMode where
    compare :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Ordering
compare AudioResamplerFilterMode
a AudioResamplerFilterMode
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioResamplerFilterMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterMode
a) (AudioResamplerFilterMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterMode
b)

type instance O.ParentTypes AudioResamplerFilterMode = '[]
instance O.HasParentTypes AudioResamplerFilterMode

foreign import ccall "gst_audio_resampler_filter_mode_get_type" c_gst_audio_resampler_filter_mode_get_type :: 
    IO GType

instance B.Types.TypedObject AudioResamplerFilterMode where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_resampler_filter_mode_get_type

instance B.Types.BoxedEnum AudioResamplerFilterMode

-- Enum AudioResamplerFilterInterpolation
-- | The different filter interpolation methods.
-- 
-- /Since: 1.10/
data AudioResamplerFilterInterpolation = 
      AudioResamplerFilterInterpolationNone
    -- ^ no interpolation
    | AudioResamplerFilterInterpolationLinear
    -- ^ linear interpolation of the
    --   filter coefficients.
    | AudioResamplerFilterInterpolationCubic
    -- ^ cubic interpolation of the
    --   filter coefficients.
    | AnotherAudioResamplerFilterInterpolation Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioResamplerFilterInterpolation -> ShowS
[AudioResamplerFilterInterpolation] -> ShowS
AudioResamplerFilterInterpolation -> String
(Int -> AudioResamplerFilterInterpolation -> ShowS)
-> (AudioResamplerFilterInterpolation -> String)
-> ([AudioResamplerFilterInterpolation] -> ShowS)
-> Show AudioResamplerFilterInterpolation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioResamplerFilterInterpolation] -> ShowS
$cshowList :: [AudioResamplerFilterInterpolation] -> ShowS
show :: AudioResamplerFilterInterpolation -> String
$cshow :: AudioResamplerFilterInterpolation -> String
showsPrec :: Int -> AudioResamplerFilterInterpolation -> ShowS
$cshowsPrec :: Int -> AudioResamplerFilterInterpolation -> ShowS
Show, AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
(AudioResamplerFilterInterpolation
 -> AudioResamplerFilterInterpolation -> Bool)
-> (AudioResamplerFilterInterpolation
    -> AudioResamplerFilterInterpolation -> Bool)
-> Eq AudioResamplerFilterInterpolation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
$c/= :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
== :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
$c== :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
Eq)

instance P.Enum AudioResamplerFilterInterpolation where
    fromEnum :: AudioResamplerFilterInterpolation -> Int
fromEnum AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationNone = Int
0
    fromEnum AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationLinear = Int
1
    fromEnum AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationCubic = Int
2
    fromEnum (AnotherAudioResamplerFilterInterpolation Int
k) = Int
k

    toEnum :: Int -> AudioResamplerFilterInterpolation
toEnum Int
0 = AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationNone
    toEnum Int
1 = AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationLinear
    toEnum Int
2 = AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationCubic
    toEnum Int
k = Int -> AudioResamplerFilterInterpolation
AnotherAudioResamplerFilterInterpolation Int
k

instance P.Ord AudioResamplerFilterInterpolation where
    compare :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Ordering
compare AudioResamplerFilterInterpolation
a AudioResamplerFilterInterpolation
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioResamplerFilterInterpolation -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterInterpolation
a) (AudioResamplerFilterInterpolation -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterInterpolation
b)

type instance O.ParentTypes AudioResamplerFilterInterpolation = '[]
instance O.HasParentTypes AudioResamplerFilterInterpolation

foreign import ccall "gst_audio_resampler_filter_interpolation_get_type" c_gst_audio_resampler_filter_interpolation_get_type :: 
    IO GType

instance B.Types.TypedObject AudioResamplerFilterInterpolation where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_resampler_filter_interpolation_get_type

instance B.Types.BoxedEnum AudioResamplerFilterInterpolation

-- Enum AudioNoiseShapingMethod
-- | Set of available noise shaping methods
data AudioNoiseShapingMethod = 
      AudioNoiseShapingMethodNone
    -- ^ No noise shaping (default)
    | AudioNoiseShapingMethodErrorFeedback
    -- ^ Error feedback
    | AudioNoiseShapingMethodSimple
    -- ^ Simple 2-pole noise shaping
    | AudioNoiseShapingMethodMedium
    -- ^ Medium 5-pole noise shaping
    | AudioNoiseShapingMethodHigh
    -- ^ High 8-pole noise shaping
    | AnotherAudioNoiseShapingMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioNoiseShapingMethod -> ShowS
[AudioNoiseShapingMethod] -> ShowS
AudioNoiseShapingMethod -> String
(Int -> AudioNoiseShapingMethod -> ShowS)
-> (AudioNoiseShapingMethod -> String)
-> ([AudioNoiseShapingMethod] -> ShowS)
-> Show AudioNoiseShapingMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioNoiseShapingMethod] -> ShowS
$cshowList :: [AudioNoiseShapingMethod] -> ShowS
show :: AudioNoiseShapingMethod -> String
$cshow :: AudioNoiseShapingMethod -> String
showsPrec :: Int -> AudioNoiseShapingMethod -> ShowS
$cshowsPrec :: Int -> AudioNoiseShapingMethod -> ShowS
Show, AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
(AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool)
-> (AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool)
-> Eq AudioNoiseShapingMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
$c/= :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
== :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
$c== :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
Eq)

instance P.Enum AudioNoiseShapingMethod where
    fromEnum :: AudioNoiseShapingMethod -> Int
fromEnum AudioNoiseShapingMethod
AudioNoiseShapingMethodNone = Int
0
    fromEnum AudioNoiseShapingMethod
AudioNoiseShapingMethodErrorFeedback = Int
1
    fromEnum AudioNoiseShapingMethod
AudioNoiseShapingMethodSimple = Int
2
    fromEnum AudioNoiseShapingMethod
AudioNoiseShapingMethodMedium = Int
3
    fromEnum AudioNoiseShapingMethod
AudioNoiseShapingMethodHigh = Int
4
    fromEnum (AnotherAudioNoiseShapingMethod Int
k) = Int
k

    toEnum :: Int -> AudioNoiseShapingMethod
toEnum Int
0 = AudioNoiseShapingMethod
AudioNoiseShapingMethodNone
    toEnum Int
1 = AudioNoiseShapingMethod
AudioNoiseShapingMethodErrorFeedback
    toEnum Int
2 = AudioNoiseShapingMethod
AudioNoiseShapingMethodSimple
    toEnum Int
3 = AudioNoiseShapingMethod
AudioNoiseShapingMethodMedium
    toEnum Int
4 = AudioNoiseShapingMethod
AudioNoiseShapingMethodHigh
    toEnum Int
k = Int -> AudioNoiseShapingMethod
AnotherAudioNoiseShapingMethod Int
k

instance P.Ord AudioNoiseShapingMethod where
    compare :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Ordering
compare AudioNoiseShapingMethod
a AudioNoiseShapingMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioNoiseShapingMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioNoiseShapingMethod
a) (AudioNoiseShapingMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioNoiseShapingMethod
b)

type instance O.ParentTypes AudioNoiseShapingMethod = '[]
instance O.HasParentTypes AudioNoiseShapingMethod

foreign import ccall "gst_audio_noise_shaping_method_get_type" c_gst_audio_noise_shaping_method_get_type :: 
    IO GType

instance B.Types.TypedObject AudioNoiseShapingMethod where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_noise_shaping_method_get_type

instance B.Types.BoxedEnum AudioNoiseShapingMethod

-- Enum AudioLayout
-- | Layout of the audio samples for the different channels.
data AudioLayout = 
      AudioLayoutInterleaved
    -- ^ interleaved audio
    | AudioLayoutNonInterleaved
    -- ^ non-interleaved audio
    | AnotherAudioLayout Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioLayout -> ShowS
[AudioLayout] -> ShowS
AudioLayout -> String
(Int -> AudioLayout -> ShowS)
-> (AudioLayout -> String)
-> ([AudioLayout] -> ShowS)
-> Show AudioLayout
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioLayout] -> ShowS
$cshowList :: [AudioLayout] -> ShowS
show :: AudioLayout -> String
$cshow :: AudioLayout -> String
showsPrec :: Int -> AudioLayout -> ShowS
$cshowsPrec :: Int -> AudioLayout -> ShowS
Show, AudioLayout -> AudioLayout -> Bool
(AudioLayout -> AudioLayout -> Bool)
-> (AudioLayout -> AudioLayout -> Bool) -> Eq AudioLayout
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioLayout -> AudioLayout -> Bool
$c/= :: AudioLayout -> AudioLayout -> Bool
== :: AudioLayout -> AudioLayout -> Bool
$c== :: AudioLayout -> AudioLayout -> Bool
Eq)

instance P.Enum AudioLayout where
    fromEnum :: AudioLayout -> Int
fromEnum AudioLayout
AudioLayoutInterleaved = Int
0
    fromEnum AudioLayout
AudioLayoutNonInterleaved = Int
1
    fromEnum (AnotherAudioLayout Int
k) = Int
k

    toEnum :: Int -> AudioLayout
toEnum Int
0 = AudioLayout
AudioLayoutInterleaved
    toEnum Int
1 = AudioLayout
AudioLayoutNonInterleaved
    toEnum Int
k = Int -> AudioLayout
AnotherAudioLayout Int
k

instance P.Ord AudioLayout where
    compare :: AudioLayout -> AudioLayout -> Ordering
compare AudioLayout
a AudioLayout
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioLayout -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioLayout
a) (AudioLayout -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioLayout
b)

type instance O.ParentTypes AudioLayout = '[]
instance O.HasParentTypes AudioLayout

foreign import ccall "gst_audio_layout_get_type" c_gst_audio_layout_get_type :: 
    IO GType

instance B.Types.TypedObject AudioLayout where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_layout_get_type

instance B.Types.BoxedEnum AudioLayout

-- Enum AudioFormat
-- | Enum value describing the most common audio formats.
data AudioFormat = 
      AudioFormatUnknown
    -- ^ unknown or unset audio format
    | AudioFormatEncoded
    -- ^ encoded audio format
    | AudioFormatS8
    -- ^ 8 bits in 8 bits, signed
    | AudioFormatU8
    -- ^ 8 bits in 8 bits, unsigned
    | AudioFormatS16le
    -- ^ 16 bits in 16 bits, signed, little endian
    | AudioFormatS16be
    -- ^ 16 bits in 16 bits, signed, big endian
    | AudioFormatU16le
    -- ^ 16 bits in 16 bits, unsigned, little endian
    | AudioFormatU16be
    -- ^ 16 bits in 16 bits, unsigned, big endian
    | AudioFormatS2432le
    -- ^ 24 bits in 32 bits, signed, little endian
    | AudioFormatS2432be
    -- ^ 24 bits in 32 bits, signed, big endian
    | AudioFormatU2432le
    -- ^ 24 bits in 32 bits, unsigned, little endian
    | AudioFormatU2432be
    -- ^ 24 bits in 32 bits, unsigned, big endian
    | AudioFormatS32le
    -- ^ 32 bits in 32 bits, signed, little endian
    | AudioFormatS32be
    -- ^ 32 bits in 32 bits, signed, big endian
    | AudioFormatU32le
    -- ^ 32 bits in 32 bits, unsigned, little endian
    | AudioFormatU32be
    -- ^ 32 bits in 32 bits, unsigned, big endian
    | AudioFormatS24le
    -- ^ 24 bits in 24 bits, signed, little endian
    | AudioFormatS24be
    -- ^ 24 bits in 24 bits, signed, big endian
    | AudioFormatU24le
    -- ^ 24 bits in 24 bits, unsigned, little endian
    | AudioFormatU24be
    -- ^ 24 bits in 24 bits, unsigned, big endian
    | AudioFormatS20le
    -- ^ 20 bits in 24 bits, signed, little endian
    | AudioFormatS20be
    -- ^ 20 bits in 24 bits, signed, big endian
    | AudioFormatU20le
    -- ^ 20 bits in 24 bits, unsigned, little endian
    | AudioFormatU20be
    -- ^ 20 bits in 24 bits, unsigned, big endian
    | AudioFormatS18le
    -- ^ 18 bits in 24 bits, signed, little endian
    | AudioFormatS18be
    -- ^ 18 bits in 24 bits, signed, big endian
    | AudioFormatU18le
    -- ^ 18 bits in 24 bits, unsigned, little endian
    | AudioFormatU18be
    -- ^ 18 bits in 24 bits, unsigned, big endian
    | AudioFormatF32le
    -- ^ 32-bit floating point samples, little endian
    | AudioFormatF32be
    -- ^ 32-bit floating point samples, big endian
    | AudioFormatF64le
    -- ^ 64-bit floating point samples, little endian
    | AudioFormatF64be
    -- ^ 64-bit floating point samples, big endian
    | AudioFormatS16
    -- ^ 16 bits in 16 bits, signed, native endianness
    | AudioFormatU16
    -- ^ 16 bits in 16 bits, unsigned, native endianness
    | AudioFormatS2432
    -- ^ 24 bits in 32 bits, signed, native endianness
    | AudioFormatU2432
    -- ^ 24 bits in 32 bits, unsigned, native endianness
    | AudioFormatS32
    -- ^ 32 bits in 32 bits, signed, native endianness
    | AudioFormatU32
    -- ^ 32 bits in 32 bits, unsigned, native endianness
    | AudioFormatS24
    -- ^ 24 bits in 24 bits, signed, native endianness
    | AudioFormatU24
    -- ^ 24 bits in 24 bits, unsigned, native endianness
    | AudioFormatS20
    -- ^ 20 bits in 24 bits, signed, native endianness
    | AudioFormatU20
    -- ^ 20 bits in 24 bits, unsigned, native endianness
    | AudioFormatS18
    -- ^ 18 bits in 24 bits, signed, native endianness
    | AudioFormatU18
    -- ^ 18 bits in 24 bits, unsigned, native endianness
    | AudioFormatF32
    -- ^ 32-bit floating point samples, native endianness
    | AudioFormatF64
    -- ^ 64-bit floating point samples, native endianness
    | AnotherAudioFormat Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioFormat -> ShowS
[AudioFormat] -> ShowS
AudioFormat -> String
(Int -> AudioFormat -> ShowS)
-> (AudioFormat -> String)
-> ([AudioFormat] -> ShowS)
-> Show AudioFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioFormat] -> ShowS
$cshowList :: [AudioFormat] -> ShowS
show :: AudioFormat -> String
$cshow :: AudioFormat -> String
showsPrec :: Int -> AudioFormat -> ShowS
$cshowsPrec :: Int -> AudioFormat -> ShowS
Show, AudioFormat -> AudioFormat -> Bool
(AudioFormat -> AudioFormat -> Bool)
-> (AudioFormat -> AudioFormat -> Bool) -> Eq AudioFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioFormat -> AudioFormat -> Bool
$c/= :: AudioFormat -> AudioFormat -> Bool
== :: AudioFormat -> AudioFormat -> Bool
$c== :: AudioFormat -> AudioFormat -> Bool
Eq)

instance P.Enum AudioFormat where
    fromEnum :: AudioFormat -> Int
fromEnum AudioFormat
AudioFormatUnknown = Int
0
    fromEnum AudioFormat
AudioFormatEncoded = Int
1
    fromEnum AudioFormat
AudioFormatS8 = Int
2
    fromEnum AudioFormat
AudioFormatU8 = Int
3
    fromEnum AudioFormat
AudioFormatS16le = Int
4
    fromEnum AudioFormat
AudioFormatS16be = Int
5
    fromEnum AudioFormat
AudioFormatU16le = Int
6
    fromEnum AudioFormat
AudioFormatU16be = Int
7
    fromEnum AudioFormat
AudioFormatS2432le = Int
8
    fromEnum AudioFormat
AudioFormatS2432be = Int
9
    fromEnum AudioFormat
AudioFormatU2432le = Int
10
    fromEnum AudioFormat
AudioFormatU2432be = Int
11
    fromEnum AudioFormat
AudioFormatS32le = Int
12
    fromEnum AudioFormat
AudioFormatS32be = Int
13
    fromEnum AudioFormat
AudioFormatU32le = Int
14
    fromEnum AudioFormat
AudioFormatU32be = Int
15
    fromEnum AudioFormat
AudioFormatS24le = Int
16
    fromEnum AudioFormat
AudioFormatS24be = Int
17
    fromEnum AudioFormat
AudioFormatU24le = Int
18
    fromEnum AudioFormat
AudioFormatU24be = Int
19
    fromEnum AudioFormat
AudioFormatS20le = Int
20
    fromEnum AudioFormat
AudioFormatS20be = Int
21
    fromEnum AudioFormat
AudioFormatU20le = Int
22
    fromEnum AudioFormat
AudioFormatU20be = Int
23
    fromEnum AudioFormat
AudioFormatS18le = Int
24
    fromEnum AudioFormat
AudioFormatS18be = Int
25
    fromEnum AudioFormat
AudioFormatU18le = Int
26
    fromEnum AudioFormat
AudioFormatU18be = Int
27
    fromEnum AudioFormat
AudioFormatF32le = Int
28
    fromEnum AudioFormat
AudioFormatF32be = Int
29
    fromEnum AudioFormat
AudioFormatF64le = Int
30
    fromEnum AudioFormat
AudioFormatF64be = Int
31
    fromEnum AudioFormat
AudioFormatS16 = Int
4
    fromEnum AudioFormat
AudioFormatU16 = Int
6
    fromEnum AudioFormat
AudioFormatS2432 = Int
8
    fromEnum AudioFormat
AudioFormatU2432 = Int
10
    fromEnum AudioFormat
AudioFormatS32 = Int
12
    fromEnum AudioFormat
AudioFormatU32 = Int
14
    fromEnum AudioFormat
AudioFormatS24 = Int
16
    fromEnum AudioFormat
AudioFormatU24 = Int
18
    fromEnum AudioFormat
AudioFormatS20 = Int
20
    fromEnum AudioFormat
AudioFormatU20 = Int
22
    fromEnum AudioFormat
AudioFormatS18 = Int
24
    fromEnum AudioFormat
AudioFormatU18 = Int
26
    fromEnum AudioFormat
AudioFormatF32 = Int
28
    fromEnum AudioFormat
AudioFormatF64 = Int
30
    fromEnum (AnotherAudioFormat Int
k) = Int
k

    toEnum :: Int -> AudioFormat
toEnum Int
0 = AudioFormat
AudioFormatUnknown
    toEnum Int
1 = AudioFormat
AudioFormatEncoded
    toEnum Int
2 = AudioFormat
AudioFormatS8
    toEnum Int
3 = AudioFormat
AudioFormatU8
    toEnum Int
4 = AudioFormat
AudioFormatS16le
    toEnum Int
5 = AudioFormat
AudioFormatS16be
    toEnum Int
6 = AudioFormat
AudioFormatU16le
    toEnum Int
7 = AudioFormat
AudioFormatU16be
    toEnum Int
8 = AudioFormat
AudioFormatS2432le
    toEnum Int
9 = AudioFormat
AudioFormatS2432be
    toEnum Int
10 = AudioFormat
AudioFormatU2432le
    toEnum Int
11 = AudioFormat
AudioFormatU2432be
    toEnum Int
12 = AudioFormat
AudioFormatS32le
    toEnum Int
13 = AudioFormat
AudioFormatS32be
    toEnum Int
14 = AudioFormat
AudioFormatU32le
    toEnum Int
15 = AudioFormat
AudioFormatU32be
    toEnum Int
16 = AudioFormat
AudioFormatS24le
    toEnum Int
17 = AudioFormat
AudioFormatS24be
    toEnum Int
18 = AudioFormat
AudioFormatU24le
    toEnum Int
19 = AudioFormat
AudioFormatU24be
    toEnum Int
20 = AudioFormat
AudioFormatS20le
    toEnum Int
21 = AudioFormat
AudioFormatS20be
    toEnum Int
22 = AudioFormat
AudioFormatU20le
    toEnum Int
23 = AudioFormat
AudioFormatU20be
    toEnum Int
24 = AudioFormat
AudioFormatS18le
    toEnum Int
25 = AudioFormat
AudioFormatS18be
    toEnum Int
26 = AudioFormat
AudioFormatU18le
    toEnum Int
27 = AudioFormat
AudioFormatU18be
    toEnum Int
28 = AudioFormat
AudioFormatF32le
    toEnum Int
29 = AudioFormat
AudioFormatF32be
    toEnum Int
30 = AudioFormat
AudioFormatF64le
    toEnum Int
31 = AudioFormat
AudioFormatF64be
    toEnum Int
k = Int -> AudioFormat
AnotherAudioFormat Int
k

instance P.Ord AudioFormat where
    compare :: AudioFormat -> AudioFormat -> Ordering
compare AudioFormat
a AudioFormat
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioFormat
a) (AudioFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioFormat
b)

type instance O.ParentTypes AudioFormat = '[]
instance O.HasParentTypes AudioFormat

foreign import ccall "gst_audio_format_get_type" c_gst_audio_format_get_type :: 
    IO GType

instance B.Types.TypedObject AudioFormat where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_format_get_type

instance B.Types.BoxedEnum AudioFormat

-- Enum AudioDitherMethod
-- | Set of available dithering methods.
data AudioDitherMethod = 
      AudioDitherMethodNone
    -- ^ No dithering
    | AudioDitherMethodRpdf
    -- ^ Rectangular dithering
    | AudioDitherMethodTpdf
    -- ^ Triangular dithering (default)
    | AudioDitherMethodTpdfHf
    -- ^ High frequency triangular dithering
    | AnotherAudioDitherMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioDitherMethod -> ShowS
[AudioDitherMethod] -> ShowS
AudioDitherMethod -> String
(Int -> AudioDitherMethod -> ShowS)
-> (AudioDitherMethod -> String)
-> ([AudioDitherMethod] -> ShowS)
-> Show AudioDitherMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioDitherMethod] -> ShowS
$cshowList :: [AudioDitherMethod] -> ShowS
show :: AudioDitherMethod -> String
$cshow :: AudioDitherMethod -> String
showsPrec :: Int -> AudioDitherMethod -> ShowS
$cshowsPrec :: Int -> AudioDitherMethod -> ShowS
Show, AudioDitherMethod -> AudioDitherMethod -> Bool
(AudioDitherMethod -> AudioDitherMethod -> Bool)
-> (AudioDitherMethod -> AudioDitherMethod -> Bool)
-> Eq AudioDitherMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioDitherMethod -> AudioDitherMethod -> Bool
$c/= :: AudioDitherMethod -> AudioDitherMethod -> Bool
== :: AudioDitherMethod -> AudioDitherMethod -> Bool
$c== :: AudioDitherMethod -> AudioDitherMethod -> Bool
Eq)

instance P.Enum AudioDitherMethod where
    fromEnum :: AudioDitherMethod -> Int
fromEnum AudioDitherMethod
AudioDitherMethodNone = Int
0
    fromEnum AudioDitherMethod
AudioDitherMethodRpdf = Int
1
    fromEnum AudioDitherMethod
AudioDitherMethodTpdf = Int
2
    fromEnum AudioDitherMethod
AudioDitherMethodTpdfHf = Int
3
    fromEnum (AnotherAudioDitherMethod Int
k) = Int
k

    toEnum :: Int -> AudioDitherMethod
toEnum Int
0 = AudioDitherMethod
AudioDitherMethodNone
    toEnum Int
1 = AudioDitherMethod
AudioDitherMethodRpdf
    toEnum Int
2 = AudioDitherMethod
AudioDitherMethodTpdf
    toEnum Int
3 = AudioDitherMethod
AudioDitherMethodTpdfHf
    toEnum Int
k = Int -> AudioDitherMethod
AnotherAudioDitherMethod Int
k

instance P.Ord AudioDitherMethod where
    compare :: AudioDitherMethod -> AudioDitherMethod -> Ordering
compare AudioDitherMethod
a AudioDitherMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioDitherMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioDitherMethod
a) (AudioDitherMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioDitherMethod
b)

type instance O.ParentTypes AudioDitherMethod = '[]
instance O.HasParentTypes AudioDitherMethod

foreign import ccall "gst_audio_dither_method_get_type" c_gst_audio_dither_method_get_type :: 
    IO GType

instance B.Types.TypedObject AudioDitherMethod where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_dither_method_get_type

instance B.Types.BoxedEnum AudioDitherMethod

-- Enum AudioChannelPosition
-- | Audio channel positions.
-- 
-- These are the channels defined in SMPTE 2036-2-2008
-- Table 1 for 22.2 audio systems with the Surround and Wide channels from
-- DTS Coherent Acoustics (v.1.3.1) and 10.2 and 7.1 layouts. In the caps the
-- actual channel layout is expressed with a channel count and a channel mask,
-- which describes the existing channels. The positions in the bit mask correspond
-- to the enum values.
-- For negotiation it is allowed to have more bits set in the channel mask than
-- the number of channels to specify the allowed channel positions but this is
-- not allowed in negotiated caps. It is not allowed in any situation other
-- than the one mentioned below to have less bits set in the channel mask than
-- the number of channels.
-- 
-- /@gSTAUDIOCHANNELPOSITIONMONO@/ can only be used with a single mono channel that
-- has no direction information and would be mixed into all directional channels.
-- This is expressed in caps by having a single channel and no channel mask.
-- 
-- /@gSTAUDIOCHANNELPOSITIONNONE@/ can only be used if all channels have this position.
-- This is expressed in caps by having a channel mask with no bits set.
-- 
-- As another special case it is allowed to have two channels without a channel mask.
-- This implicitly means that this is a stereo stream with a front left and front right
-- channel.
data AudioChannelPosition = 
      AudioChannelPositionNone
    -- ^ used for position-less channels, e.g.
    --     from a sound card that records 1024 channels; mutually exclusive with
    --     any other channel position
    | AudioChannelPositionMono
    -- ^ Mono without direction;
    --     can only be used with 1 channel
    | AudioChannelPositionInvalid
    -- ^ invalid position
    | AudioChannelPositionFrontLeft
    -- ^ Front left
    | AudioChannelPositionFrontRight
    -- ^ Front right
    | AudioChannelPositionFrontCenter
    -- ^ Front center
    | AudioChannelPositionLfe1
    -- ^ Low-frequency effects 1 (subwoofer)
    | AudioChannelPositionRearLeft
    -- ^ Rear left
    | AudioChannelPositionRearRight
    -- ^ Rear right
    | AudioChannelPositionFrontLeftOfCenter
    -- ^ Front left of center
    | AudioChannelPositionFrontRightOfCenter
    -- ^ Front right of center
    | AudioChannelPositionRearCenter
    -- ^ Rear center
    | AudioChannelPositionLfe2
    -- ^ Low-frequency effects 2 (subwoofer)
    | AudioChannelPositionSideLeft
    -- ^ Side left
    | AudioChannelPositionSideRight
    -- ^ Side right
    | AudioChannelPositionTopFrontLeft
    -- ^ Top front left
    | AudioChannelPositionTopFrontRight
    -- ^ Top front right
    | AudioChannelPositionTopFrontCenter
    -- ^ Top front center
    | AudioChannelPositionTopCenter
    -- ^ Top center
    | AudioChannelPositionTopRearLeft
    -- ^ Top rear left
    | AudioChannelPositionTopRearRight
    -- ^ Top rear right
    | AudioChannelPositionTopSideLeft
    -- ^ Top side right
    | AudioChannelPositionTopSideRight
    -- ^ Top rear right
    | AudioChannelPositionTopRearCenter
    -- ^ Top rear center
    | AudioChannelPositionBottomFrontCenter
    -- ^ Bottom front center
    | AudioChannelPositionBottomFrontLeft
    -- ^ Bottom front left
    | AudioChannelPositionBottomFrontRight
    -- ^ Bottom front right
    | AudioChannelPositionWideLeft
    -- ^ Wide left (between front left and side left)
    | AudioChannelPositionWideRight
    -- ^ Wide right (between front right and side right)
    | AudioChannelPositionSurroundLeft
    -- ^ Surround left (between rear left and side left)
    | AudioChannelPositionSurroundRight
    -- ^ Surround right (between rear right and side right)
    | AnotherAudioChannelPosition Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioChannelPosition -> ShowS
[AudioChannelPosition] -> ShowS
AudioChannelPosition -> String
(Int -> AudioChannelPosition -> ShowS)
-> (AudioChannelPosition -> String)
-> ([AudioChannelPosition] -> ShowS)
-> Show AudioChannelPosition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioChannelPosition] -> ShowS
$cshowList :: [AudioChannelPosition] -> ShowS
show :: AudioChannelPosition -> String
$cshow :: AudioChannelPosition -> String
showsPrec :: Int -> AudioChannelPosition -> ShowS
$cshowsPrec :: Int -> AudioChannelPosition -> ShowS
Show, AudioChannelPosition -> AudioChannelPosition -> Bool
(AudioChannelPosition -> AudioChannelPosition -> Bool)
-> (AudioChannelPosition -> AudioChannelPosition -> Bool)
-> Eq AudioChannelPosition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioChannelPosition -> AudioChannelPosition -> Bool
$c/= :: AudioChannelPosition -> AudioChannelPosition -> Bool
== :: AudioChannelPosition -> AudioChannelPosition -> Bool
$c== :: AudioChannelPosition -> AudioChannelPosition -> Bool
Eq)

instance P.Enum AudioChannelPosition where
    fromEnum :: AudioChannelPosition -> Int
fromEnum AudioChannelPosition
AudioChannelPositionNone = Int
-3
    fromEnum AudioChannelPosition
AudioChannelPositionMono = Int
-2
    fromEnum AudioChannelPosition
AudioChannelPositionInvalid = Int
-1
    fromEnum AudioChannelPosition
AudioChannelPositionFrontLeft = Int
0
    fromEnum AudioChannelPosition
AudioChannelPositionFrontRight = Int
1
    fromEnum AudioChannelPosition
AudioChannelPositionFrontCenter = Int
2
    fromEnum AudioChannelPosition
AudioChannelPositionLfe1 = Int
3
    fromEnum AudioChannelPosition
AudioChannelPositionRearLeft = Int
4
    fromEnum AudioChannelPosition
AudioChannelPositionRearRight = Int
5
    fromEnum AudioChannelPosition
AudioChannelPositionFrontLeftOfCenter = Int
6
    fromEnum AudioChannelPosition
AudioChannelPositionFrontRightOfCenter = Int
7
    fromEnum AudioChannelPosition
AudioChannelPositionRearCenter = Int
8
    fromEnum AudioChannelPosition
AudioChannelPositionLfe2 = Int
9
    fromEnum AudioChannelPosition
AudioChannelPositionSideLeft = Int
10
    fromEnum AudioChannelPosition
AudioChannelPositionSideRight = Int
11
    fromEnum AudioChannelPosition
AudioChannelPositionTopFrontLeft = Int
12
    fromEnum AudioChannelPosition
AudioChannelPositionTopFrontRight = Int
13
    fromEnum AudioChannelPosition
AudioChannelPositionTopFrontCenter = Int
14
    fromEnum AudioChannelPosition
AudioChannelPositionTopCenter = Int
15
    fromEnum AudioChannelPosition
AudioChannelPositionTopRearLeft = Int
16
    fromEnum AudioChannelPosition
AudioChannelPositionTopRearRight = Int
17
    fromEnum AudioChannelPosition
AudioChannelPositionTopSideLeft = Int
18
    fromEnum AudioChannelPosition
AudioChannelPositionTopSideRight = Int
19
    fromEnum AudioChannelPosition
AudioChannelPositionTopRearCenter = Int
20
    fromEnum AudioChannelPosition
AudioChannelPositionBottomFrontCenter = Int
21
    fromEnum AudioChannelPosition
AudioChannelPositionBottomFrontLeft = Int
22
    fromEnum AudioChannelPosition
AudioChannelPositionBottomFrontRight = Int
23
    fromEnum AudioChannelPosition
AudioChannelPositionWideLeft = Int
24
    fromEnum AudioChannelPosition
AudioChannelPositionWideRight = Int
25
    fromEnum AudioChannelPosition
AudioChannelPositionSurroundLeft = Int
26
    fromEnum AudioChannelPosition
AudioChannelPositionSurroundRight = Int
27
    fromEnum (AnotherAudioChannelPosition Int
k) = Int
k

    toEnum :: Int -> AudioChannelPosition
toEnum Int
-3 = AudioChannelPosition
AudioChannelPositionNone
    toEnum Int
-2 = AudioChannelPosition
AudioChannelPositionMono
    toEnum Int
-1 = AudioChannelPosition
AudioChannelPositionInvalid
    toEnum Int
0 = AudioChannelPosition
AudioChannelPositionFrontLeft
    toEnum Int
1 = AudioChannelPosition
AudioChannelPositionFrontRight
    toEnum Int
2 = AudioChannelPosition
AudioChannelPositionFrontCenter
    toEnum Int
3 = AudioChannelPosition
AudioChannelPositionLfe1
    toEnum Int
4 = AudioChannelPosition
AudioChannelPositionRearLeft
    toEnum Int
5 = AudioChannelPosition
AudioChannelPositionRearRight
    toEnum Int
6 = AudioChannelPosition
AudioChannelPositionFrontLeftOfCenter
    toEnum Int
7 = AudioChannelPosition
AudioChannelPositionFrontRightOfCenter
    toEnum Int
8 = AudioChannelPosition
AudioChannelPositionRearCenter
    toEnum Int
9 = AudioChannelPosition
AudioChannelPositionLfe2
    toEnum Int
10 = AudioChannelPosition
AudioChannelPositionSideLeft
    toEnum Int
11 = AudioChannelPosition
AudioChannelPositionSideRight
    toEnum Int
12 = AudioChannelPosition
AudioChannelPositionTopFrontLeft
    toEnum Int
13 = AudioChannelPosition
AudioChannelPositionTopFrontRight
    toEnum Int
14 = AudioChannelPosition
AudioChannelPositionTopFrontCenter
    toEnum Int
15 = AudioChannelPosition
AudioChannelPositionTopCenter
    toEnum Int
16 = AudioChannelPosition
AudioChannelPositionTopRearLeft
    toEnum Int
17 = AudioChannelPosition
AudioChannelPositionTopRearRight
    toEnum Int
18 = AudioChannelPosition
AudioChannelPositionTopSideLeft
    toEnum Int
19 = AudioChannelPosition
AudioChannelPositionTopSideRight
    toEnum Int
20 = AudioChannelPosition
AudioChannelPositionTopRearCenter
    toEnum Int
21 = AudioChannelPosition
AudioChannelPositionBottomFrontCenter
    toEnum Int
22 = AudioChannelPosition
AudioChannelPositionBottomFrontLeft
    toEnum Int
23 = AudioChannelPosition
AudioChannelPositionBottomFrontRight
    toEnum Int
24 = AudioChannelPosition
AudioChannelPositionWideLeft
    toEnum Int
25 = AudioChannelPosition
AudioChannelPositionWideRight
    toEnum Int
26 = AudioChannelPosition
AudioChannelPositionSurroundLeft
    toEnum Int
27 = AudioChannelPosition
AudioChannelPositionSurroundRight
    toEnum Int
k = Int -> AudioChannelPosition
AnotherAudioChannelPosition Int
k

instance P.Ord AudioChannelPosition where
    compare :: AudioChannelPosition -> AudioChannelPosition -> Ordering
compare AudioChannelPosition
a AudioChannelPosition
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioChannelPosition -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioChannelPosition
a) (AudioChannelPosition -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioChannelPosition
b)

type instance O.ParentTypes AudioChannelPosition = '[]
instance O.HasParentTypes AudioChannelPosition

foreign import ccall "gst_audio_channel_position_get_type" c_gst_audio_channel_position_get_type :: 
    IO GType

instance B.Types.TypedObject AudioChannelPosition where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_channel_position_get_type

instance B.Types.BoxedEnum AudioChannelPosition

-- Enum AudioCdSrcMode
-- | Mode in which the CD audio source operates. Influences timestamping,
-- EOS handling and seeking.
data AudioCdSrcMode = 
      AudioCdSrcModeNormal
    -- ^ each single track is a stream
    | AudioCdSrcModeContinuous
    -- ^ the entire disc is a single stream
    | AnotherAudioCdSrcMode Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioCdSrcMode -> ShowS
[AudioCdSrcMode] -> ShowS
AudioCdSrcMode -> String
(Int -> AudioCdSrcMode -> ShowS)
-> (AudioCdSrcMode -> String)
-> ([AudioCdSrcMode] -> ShowS)
-> Show AudioCdSrcMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioCdSrcMode] -> ShowS
$cshowList :: [AudioCdSrcMode] -> ShowS
show :: AudioCdSrcMode -> String
$cshow :: AudioCdSrcMode -> String
showsPrec :: Int -> AudioCdSrcMode -> ShowS
$cshowsPrec :: Int -> AudioCdSrcMode -> ShowS
Show, AudioCdSrcMode -> AudioCdSrcMode -> Bool
(AudioCdSrcMode -> AudioCdSrcMode -> Bool)
-> (AudioCdSrcMode -> AudioCdSrcMode -> Bool) -> Eq AudioCdSrcMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
$c/= :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
== :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
$c== :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
Eq)

instance P.Enum AudioCdSrcMode where
    fromEnum :: AudioCdSrcMode -> Int
fromEnum AudioCdSrcMode
AudioCdSrcModeNormal = Int
0
    fromEnum AudioCdSrcMode
AudioCdSrcModeContinuous = Int
1
    fromEnum (AnotherAudioCdSrcMode Int
k) = Int
k

    toEnum :: Int -> AudioCdSrcMode
toEnum Int
0 = AudioCdSrcMode
AudioCdSrcModeNormal
    toEnum Int
1 = AudioCdSrcMode
AudioCdSrcModeContinuous
    toEnum Int
k = Int -> AudioCdSrcMode
AnotherAudioCdSrcMode Int
k

instance P.Ord AudioCdSrcMode where
    compare :: AudioCdSrcMode -> AudioCdSrcMode -> Ordering
compare AudioCdSrcMode
a AudioCdSrcMode
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioCdSrcMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioCdSrcMode
a) (AudioCdSrcMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioCdSrcMode
b)

type instance O.ParentTypes AudioCdSrcMode = '[]
instance O.HasParentTypes AudioCdSrcMode

foreign import ccall "gst_audio_cd_src_mode_get_type" c_gst_audio_cd_src_mode_get_type :: 
    IO GType

instance B.Types.TypedObject AudioCdSrcMode where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_cd_src_mode_get_type

instance B.Types.BoxedEnum AudioCdSrcMode

-- Enum AudioBaseSrcSlaveMethod
-- | Different possible clock slaving algorithms when the internal audio clock was
-- not selected as the pipeline clock.
data AudioBaseSrcSlaveMethod = 
      AudioBaseSrcSlaveMethodResample
    -- ^ Resample to match the master clock.
    | AudioBaseSrcSlaveMethodReTimestamp
    -- ^ Retimestamp output buffers with master
    -- clock time.
    | AudioBaseSrcSlaveMethodSkew
    -- ^ Adjust capture pointer when master clock
    -- drifts too much.
    | AudioBaseSrcSlaveMethodNone
    -- ^ No adjustment is done.
    | AnotherAudioBaseSrcSlaveMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioBaseSrcSlaveMethod -> ShowS
[AudioBaseSrcSlaveMethod] -> ShowS
AudioBaseSrcSlaveMethod -> String
(Int -> AudioBaseSrcSlaveMethod -> ShowS)
-> (AudioBaseSrcSlaveMethod -> String)
-> ([AudioBaseSrcSlaveMethod] -> ShowS)
-> Show AudioBaseSrcSlaveMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioBaseSrcSlaveMethod] -> ShowS
$cshowList :: [AudioBaseSrcSlaveMethod] -> ShowS
show :: AudioBaseSrcSlaveMethod -> String
$cshow :: AudioBaseSrcSlaveMethod -> String
showsPrec :: Int -> AudioBaseSrcSlaveMethod -> ShowS
$cshowsPrec :: Int -> AudioBaseSrcSlaveMethod -> ShowS
Show, AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
(AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool)
-> (AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool)
-> Eq AudioBaseSrcSlaveMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
$c/= :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
== :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
$c== :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
Eq)

instance P.Enum AudioBaseSrcSlaveMethod where
    fromEnum :: AudioBaseSrcSlaveMethod -> Int
fromEnum AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodResample = Int
0
    fromEnum AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodReTimestamp = Int
1
    fromEnum AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodSkew = Int
2
    fromEnum AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodNone = Int
3
    fromEnum (AnotherAudioBaseSrcSlaveMethod Int
k) = Int
k

    toEnum :: Int -> AudioBaseSrcSlaveMethod
toEnum Int
0 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodResample
    toEnum Int
1 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodReTimestamp
    toEnum Int
2 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodSkew
    toEnum Int
3 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodNone
    toEnum Int
k = Int -> AudioBaseSrcSlaveMethod
AnotherAudioBaseSrcSlaveMethod Int
k

instance P.Ord AudioBaseSrcSlaveMethod where
    compare :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Ordering
compare AudioBaseSrcSlaveMethod
a AudioBaseSrcSlaveMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioBaseSrcSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSrcSlaveMethod
a) (AudioBaseSrcSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSrcSlaveMethod
b)

type instance O.ParentTypes AudioBaseSrcSlaveMethod = '[]
instance O.HasParentTypes AudioBaseSrcSlaveMethod

foreign import ccall "gst_audio_base_src_slave_method_get_type" c_gst_audio_base_src_slave_method_get_type :: 
    IO GType

instance B.Types.TypedObject AudioBaseSrcSlaveMethod where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_base_src_slave_method_get_type

instance B.Types.BoxedEnum AudioBaseSrcSlaveMethod

-- Enum AudioBaseSinkSlaveMethod
-- | Different possible clock slaving algorithms used when the internal audio
-- clock is not selected as the pipeline master clock.
data AudioBaseSinkSlaveMethod = 
      AudioBaseSinkSlaveMethodResample
    -- ^ Resample to match the master clock
    | AudioBaseSinkSlaveMethodSkew
    -- ^ Adjust playout pointer when master clock
    -- drifts too much.
    | AudioBaseSinkSlaveMethodNone
    -- ^ No adjustment is done.
    | AudioBaseSinkSlaveMethodCustom
    -- ^ Use custom clock slaving algorithm (Since: 1.6)
    | AnotherAudioBaseSinkSlaveMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioBaseSinkSlaveMethod -> ShowS
[AudioBaseSinkSlaveMethod] -> ShowS
AudioBaseSinkSlaveMethod -> String
(Int -> AudioBaseSinkSlaveMethod -> ShowS)
-> (AudioBaseSinkSlaveMethod -> String)
-> ([AudioBaseSinkSlaveMethod] -> ShowS)
-> Show AudioBaseSinkSlaveMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioBaseSinkSlaveMethod] -> ShowS
$cshowList :: [AudioBaseSinkSlaveMethod] -> ShowS
show :: AudioBaseSinkSlaveMethod -> String
$cshow :: AudioBaseSinkSlaveMethod -> String
showsPrec :: Int -> AudioBaseSinkSlaveMethod -> ShowS
$cshowsPrec :: Int -> AudioBaseSinkSlaveMethod -> ShowS
Show, AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
(AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool)
-> (AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool)
-> Eq AudioBaseSinkSlaveMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
$c/= :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
== :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
$c== :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
Eq)

instance P.Enum AudioBaseSinkSlaveMethod where
    fromEnum :: AudioBaseSinkSlaveMethod -> Int
fromEnum AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodResample = Int
0
    fromEnum AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodSkew = Int
1
    fromEnum AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodNone = Int
2
    fromEnum AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodCustom = Int
3
    fromEnum (AnotherAudioBaseSinkSlaveMethod Int
k) = Int
k

    toEnum :: Int -> AudioBaseSinkSlaveMethod
toEnum Int
0 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodResample
    toEnum Int
1 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodSkew
    toEnum Int
2 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodNone
    toEnum Int
3 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodCustom
    toEnum Int
k = Int -> AudioBaseSinkSlaveMethod
AnotherAudioBaseSinkSlaveMethod Int
k

instance P.Ord AudioBaseSinkSlaveMethod where
    compare :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Ordering
compare AudioBaseSinkSlaveMethod
a AudioBaseSinkSlaveMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioBaseSinkSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkSlaveMethod
a) (AudioBaseSinkSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkSlaveMethod
b)

type instance O.ParentTypes AudioBaseSinkSlaveMethod = '[]
instance O.HasParentTypes AudioBaseSinkSlaveMethod

foreign import ccall "gst_audio_base_sink_slave_method_get_type" c_gst_audio_base_sink_slave_method_get_type :: 
    IO GType

instance B.Types.TypedObject AudioBaseSinkSlaveMethod where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_base_sink_slave_method_get_type

instance B.Types.BoxedEnum AudioBaseSinkSlaveMethod

-- Enum AudioBaseSinkDiscontReason
-- | Different possible reasons for discontinuities. This enum is useful for the custom
-- slave method.
-- 
-- /Since: 1.6/
data AudioBaseSinkDiscontReason = 
      AudioBaseSinkDiscontReasonNoDiscont
    -- ^ No discontinuity occurred
    | AudioBaseSinkDiscontReasonNewCaps
    -- ^ New caps are set, causing renegotiotion
    | AudioBaseSinkDiscontReasonFlush
    -- ^ Samples have been flushed
    | AudioBaseSinkDiscontReasonSyncLatency
    -- ^ Sink was synchronized to the estimated latency (occurs during initialization)
    | AudioBaseSinkDiscontReasonAlignment
    -- ^ Aligning buffers failed because the timestamps are too discontinuous
    | AudioBaseSinkDiscontReasonDeviceFailure
    -- ^ Audio output device experienced and recovered from an error but introduced latency in the process (see also /@gstAudioBaseSinkReportDeviceFailure@/())
    | AnotherAudioBaseSinkDiscontReason Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioBaseSinkDiscontReason -> ShowS
[AudioBaseSinkDiscontReason] -> ShowS
AudioBaseSinkDiscontReason -> String
(Int -> AudioBaseSinkDiscontReason -> ShowS)
-> (AudioBaseSinkDiscontReason -> String)
-> ([AudioBaseSinkDiscontReason] -> ShowS)
-> Show AudioBaseSinkDiscontReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioBaseSinkDiscontReason] -> ShowS
$cshowList :: [AudioBaseSinkDiscontReason] -> ShowS
show :: AudioBaseSinkDiscontReason -> String
$cshow :: AudioBaseSinkDiscontReason -> String
showsPrec :: Int -> AudioBaseSinkDiscontReason -> ShowS
$cshowsPrec :: Int -> AudioBaseSinkDiscontReason -> ShowS
Show, AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
(AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool)
-> (AudioBaseSinkDiscontReason
    -> AudioBaseSinkDiscontReason -> Bool)
-> Eq AudioBaseSinkDiscontReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
$c/= :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
== :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
$c== :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
Eq)

instance P.Enum AudioBaseSinkDiscontReason where
    fromEnum :: AudioBaseSinkDiscontReason -> Int
fromEnum AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonNoDiscont = Int
0
    fromEnum AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonNewCaps = Int
1
    fromEnum AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonFlush = Int
2
    fromEnum AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonSyncLatency = Int
3
    fromEnum AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonAlignment = Int
4
    fromEnum AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonDeviceFailure = Int
5
    fromEnum (AnotherAudioBaseSinkDiscontReason Int
k) = Int
k

    toEnum :: Int -> AudioBaseSinkDiscontReason
toEnum Int
0 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonNoDiscont
    toEnum Int
1 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonNewCaps
    toEnum Int
2 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonFlush
    toEnum Int
3 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonSyncLatency
    toEnum Int
4 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonAlignment
    toEnum Int
5 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonDeviceFailure
    toEnum Int
k = Int -> AudioBaseSinkDiscontReason
AnotherAudioBaseSinkDiscontReason Int
k

instance P.Ord AudioBaseSinkDiscontReason where
    compare :: AudioBaseSinkDiscontReason
-> AudioBaseSinkDiscontReason -> Ordering
compare AudioBaseSinkDiscontReason
a AudioBaseSinkDiscontReason
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioBaseSinkDiscontReason -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkDiscontReason
a) (AudioBaseSinkDiscontReason -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkDiscontReason
b)

type instance O.ParentTypes AudioBaseSinkDiscontReason = '[]
instance O.HasParentTypes AudioBaseSinkDiscontReason

foreign import ccall "gst_audio_base_sink_discont_reason_get_type" c_gst_audio_base_sink_discont_reason_get_type :: 
    IO GType

instance B.Types.TypedObject AudioBaseSinkDiscontReason where
    glibType :: IO GType
glibType = IO GType
c_gst_audio_base_sink_discont_reason_get_type

instance B.Types.BoxedEnum AudioBaseSinkDiscontReason