Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Extra buffer metadata describing how much audio has to be clipped from the start or end of a buffer. This is used for compressed formats, where the first frame usually has some additional samples due to encoder and decoder delays, and the last frame usually has some additional samples to be able to fill the complete last frame.
This is used to ensure that decoded data in the end has the same amount of samples, and multiply decoded streams can be gaplessly concatenated.
Note: If clipping of the start is done by adjusting the segment, this meta has to be dropped from buffers as otherwise clipping could happen twice.
- newtype AudioClippingMeta = AudioClippingMeta (ManagedPtr AudioClippingMeta)
- newZeroAudioClippingMeta :: MonadIO m => m AudioClippingMeta
- noAudioClippingMeta :: Maybe AudioClippingMeta
- audioClippingMetaGetInfo :: (HasCallStack, MonadIO m) => m MetaInfo
- audioClippingMeta_end :: AttrLabelProxy "end"
- getAudioClippingMetaEnd :: MonadIO m => AudioClippingMeta -> m Word64
- setAudioClippingMetaEnd :: MonadIO m => AudioClippingMeta -> Word64 -> m ()
- audioClippingMeta_format :: AttrLabelProxy "format"
- getAudioClippingMetaFormat :: MonadIO m => AudioClippingMeta -> m Format
- setAudioClippingMetaFormat :: MonadIO m => AudioClippingMeta -> Format -> m ()
- audioClippingMeta_meta :: AttrLabelProxy "meta"
- getAudioClippingMetaMeta :: MonadIO m => AudioClippingMeta -> m Meta
- audioClippingMeta_start :: AttrLabelProxy "start"
- getAudioClippingMetaStart :: MonadIO m => AudioClippingMeta -> m Word64
- setAudioClippingMetaStart :: MonadIO m => AudioClippingMeta -> Word64 -> m ()
Exported types
newtype AudioClippingMeta Source #
WrappedPtr AudioClippingMeta Source # | |
(~) AttrOpTag tag AttrSet => Constructible AudioClippingMeta tag Source # | |
((~) * info (ResolveAudioClippingMetaMethod t AudioClippingMeta), MethodInfo * info AudioClippingMeta p) => IsLabel t (AudioClippingMeta -> p) Source # | |
((~) * info (ResolveAudioClippingMetaMethod t AudioClippingMeta), MethodInfo * info AudioClippingMeta p) => IsLabelProxy t (AudioClippingMeta -> p) Source # | |
HasAttributeList * AudioClippingMeta Source # | |
type AttributeList AudioClippingMeta Source # | |
newZeroAudioClippingMeta :: MonadIO m => m AudioClippingMeta Source #
Construct a AudioClippingMeta
struct initialized to zero.
Methods
getInfo
audioClippingMetaGetInfo :: (HasCallStack, MonadIO m) => m MetaInfo Source #
No description available in the introspection data.
Properties
end
audioClippingMeta_end :: AttrLabelProxy "end" Source #
getAudioClippingMetaEnd :: MonadIO m => AudioClippingMeta -> m Word64 Source #
setAudioClippingMetaEnd :: MonadIO m => AudioClippingMeta -> Word64 -> m () Source #
format
audioClippingMeta_format :: AttrLabelProxy "format" Source #
getAudioClippingMetaFormat :: MonadIO m => AudioClippingMeta -> m Format Source #
setAudioClippingMetaFormat :: MonadIO m => AudioClippingMeta -> Format -> m () Source #
meta
audioClippingMeta_meta :: AttrLabelProxy "meta" Source #
getAudioClippingMetaMeta :: MonadIO m => AudioClippingMeta -> m Meta Source #
start
audioClippingMeta_start :: AttrLabelProxy "start" Source #
getAudioClippingMetaStart :: MonadIO m => AudioClippingMeta -> m Word64 Source #
setAudioClippingMetaStart :: MonadIO m => AudioClippingMeta -> Word64 -> m () Source #