Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
BitWriter
provides a bit writer that can write any number of
bits into a memory buffer. It provides functions for writing any
number of bits into 8, 16, 32 and 64 bit variables.
Synopsis
- newtype BitWriter = BitWriter (ManagedPtr BitWriter)
- newZeroBitWriter :: MonadIO m => m BitWriter
- noBitWriter :: Maybe BitWriter
- bitWriterAlignBytes :: (HasCallStack, MonadIO m) => BitWriter -> Word8 -> m Bool
- bitWriterFree :: (HasCallStack, MonadIO m) => BitWriter -> m ()
- bitWriterFreeAndGetBuffer :: (HasCallStack, MonadIO m) => BitWriter -> m Buffer
- bitWriterGetData :: (HasCallStack, MonadIO m) => BitWriter -> m Word8
- bitWriterGetRemaining :: (HasCallStack, MonadIO m) => BitWriter -> m Word32
- bitWriterGetSize :: (HasCallStack, MonadIO m) => BitWriter -> m Word32
- bitWriterPutBitsUint16 :: (HasCallStack, MonadIO m) => BitWriter -> Word16 -> Word32 -> m Bool
- bitWriterPutBitsUint32 :: (HasCallStack, MonadIO m) => BitWriter -> Word32 -> Word32 -> m Bool
- bitWriterPutBitsUint64 :: (HasCallStack, MonadIO m) => BitWriter -> Word64 -> Word32 -> m Bool
- bitWriterPutBitsUint8 :: (HasCallStack, MonadIO m) => BitWriter -> Word8 -> Word32 -> m Bool
- bitWriterPutBytes :: (HasCallStack, MonadIO m) => BitWriter -> Word8 -> Word32 -> m Bool
- bitWriterReset :: (HasCallStack, MonadIO m) => BitWriter -> m ()
- bitWriterResetAndGetBuffer :: (HasCallStack, MonadIO m) => BitWriter -> m Buffer
- bitWriterSetPos :: (HasCallStack, MonadIO m) => BitWriter -> Word32 -> m Bool
- getBitWriterBitSize :: MonadIO m => BitWriter -> m Word32
- setBitWriterBitSize :: MonadIO m => BitWriter -> Word32 -> m ()
- getBitWriterData :: MonadIO m => BitWriter -> m Word8
- setBitWriterData :: MonadIO m => BitWriter -> Word8 -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq BitWriter Source # | |
WrappedPtr BitWriter Source # | |
Defined in GI.GstBase.Structs.BitWriter wrappedPtrCalloc :: IO (Ptr BitWriter) # wrappedPtrCopy :: BitWriter -> IO BitWriter # | |
tag ~ 'AttrSet => Constructible BitWriter tag Source # | |
Defined in GI.GstBase.Structs.BitWriter |
newZeroBitWriter :: MonadIO m => m BitWriter Source #
Construct a BitWriter
struct initialized to zero.
Methods
Overloaded methods
alignBytes
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word8 |
|
-> m Bool |
Write trailing bit to align last byte of data
. trailingBit
can
only be 1 or 0.
free
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m () |
Frees bitwriter
and the allocated data inside.
freeAndGetBuffer
bitWriterFreeAndGetBuffer Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Buffer | Returns: a new allocated |
Frees bitwriter
without destroying the internal data, which is
returned as Buffer
.
Free-function: gst_buffer_unref
getData
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Word8 | Returns: data pointer |
Get written data pointer
getRemaining
bitWriterGetRemaining :: (HasCallStack, MonadIO m) => BitWriter -> m Word32 Source #
No description available in the introspection data.
getSize
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Word32 | Returns: size of bits written in |
Get size of written data
putBitsUint16
bitWriterPutBitsUint16 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word16 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBitsUint32
bitWriterPutBitsUint32 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word32 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBitsUint64
bitWriterPutBitsUint64 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word64 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBitsUint8
bitWriterPutBitsUint8 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word8 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBytes
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word8 |
|
-> Word32 |
|
-> m Bool |
Write nbytes
bytes of data
to BitWriter
.
reset
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m () |
Resets bitwriter
and frees the data if it's owned by bitwriter
.
resetAndGetBuffer
bitWriterResetAndGetBuffer Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Buffer | Returns: a new allocated |
Resets bitwriter
and returns the current data as Buffer
.
Free-function: gst_buffer_unref
setPos
bitWriterSetPos :: (HasCallStack, MonadIO m) => BitWriter -> Word32 -> m Bool Source #
No description available in the introspection data.
Properties
bitSize
Size of written data
in bits
getBitWriterBitSize :: MonadIO m => BitWriter -> m Word32 Source #
Get the value of the “bit_size
” field.
When overloading is enabled, this is equivalent to
get
bitWriter #bitSize
setBitWriterBitSize :: MonadIO m => BitWriter -> Word32 -> m () Source #
Set the value of the “bit_size
” field.
When overloading is enabled, this is equivalent to
set
bitWriter [ #bitSize:=
value ]
data
Allocated data
for bit writer to write
getBitWriterData :: MonadIO m => BitWriter -> m Word8 Source #
Get the value of the “data
” field.
When overloading is enabled, this is equivalent to
get
bitWriter #data
setBitWriterData :: MonadIO m => BitWriter -> Word8 -> m () Source #
Set the value of the “data
” field.
When overloading is enabled, this is equivalent to
set
bitWriter [ #data:=
value ]