| Top |  |  |  |  | 
GstBitReader provides a bit reader that can read any number of bits from a memory buffer. It provides functions for reading any number of bits into 8, 16, 32 and 64 bit variables.
#define GST_BIT_READER_INIT(data, size) {data, size, 0, 0}
A GstBitReader must be initialized with this macro, before it can be
used. This macro can used be to initialize a variable, but it cannot
be assigned to a variable. In that case you have to use
gst_bit_reader_init().
GstBitReader * gst_bit_reader_new (const guint8 *data,guint size);
Create a new GstBitReader instance, which will read from data
.
Free-function: gst_bit_reader_free
[skip]
| data | Data from which the GstBitReader should read. | [array length=size] | 
| size | Size of  | 
void
gst_bit_reader_free (GstBitReader *reader);
Frees a GstBitReader instance, which was previously allocated by
gst_bit_reader_new().
void gst_bit_reader_init (GstBitReader *reader,const guint8 *data,guint size);
Initializes a GstBitReader instance to read from data
. This function
can be called on already initialized instances.
| reader | a GstBitReader instance | |
| data | data from which the bit reader should read. | [in][array length=size] | 
| size | Size of  | 
guint
gst_bit_reader_get_pos (const GstBitReader *reader);
Returns the current position of a GstBitReader instance in bits.
guint
gst_bit_reader_get_remaining (const GstBitReader *reader);
Returns the remaining number of bits of a GstBitReader instance.
gboolean gst_bit_reader_set_pos (GstBitReader *reader,guint pos);
Sets the new position of a GstBitReader instance to pos
 in bits.
guint
gst_bit_reader_get_size (const GstBitReader *reader);
Returns the total number of bits of a GstBitReader instance.
gboolean gst_bit_reader_skip (GstBitReader *reader,guint nbits);
Skips nbits
 bits of the GstBitReader instance.
gboolean
gst_bit_reader_skip_to_byte (GstBitReader *reader);
Skips until the next byte.
gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader,guint16 *val,guint nbits);
Read nbits
 bits into val
 and update the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint16 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader,guint32 *val,guint nbits);
Read nbits
 bits into val
 and update the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint32 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader,guint64 *val,guint nbits);
Read nbits
 bits into val
 and update the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint64 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader,guint8 *val,guint nbits);
Read nbits
 bits into val
 and update the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint8 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader,guint16 *val,guint nbits);
Read nbits
 bits into val
 but keep the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint16 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader,guint32 *val,guint nbits);
Read nbits
 bits into val
 but keep the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint32 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader,guint64 *val,guint nbits);
Read nbits
 bits into val
 but keep the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint64 to store the result. | [out] | 
| nbits | number of bits to read | 
gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader,guint8 *val,guint nbits);
Read nbits
 bits into val
 but keep the current position.
| reader | a GstBitReader instance | |
| val | Pointer to a guint8 to store the result. | [out] | 
| nbits | number of bits to read | 
void gst_bit_reader_skip_unchecked (GstBitReader *reader,guint nbits);
Skips nbits
 bits of the GstBitReader instance without checking if there
are enough bits available in the bit reader.
void
gst_bit_reader_skip_to_byte_unchecked (GstBitReader *reader);
Skips until the next byte without checking if there are enough bits available in the bit reader.
guint16 gst_bit_reader_get_bits_uint16_unchecked (GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 and update the current position without
checking if there are enough bits available in the bit reader.
guint32 gst_bit_reader_get_bits_uint32_unchecked (GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 and update the current position without
checking if there are enough bits available in the bit reader.
guint64 gst_bit_reader_get_bits_uint64_unchecked (GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 and update the current position without
checking if there are enough bits available in the bit reader.
guint8 gst_bit_reader_get_bits_uint8_unchecked (GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 and update the current position without
checking if there are enough bits available in the bit reader.
guint16 gst_bit_reader_peek_bits_uint16_unchecked (const GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 but keep the current position without
checking if there are enough bits available in the bit reader
guint32 gst_bit_reader_peek_bits_uint32_unchecked (const GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 but keep the current position without
checking if there are enough bits available in the bit reader
guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 but keep the current position without
checking if there are enough bits available in the bit reader
guint8 gst_bit_reader_peek_bits_uint8_unchecked (const GstBitReader *reader,guint nbits);
Read nbits
 bits into val
 but keep the current position without
checking if there are enough bits available in the bit reader