| GStreamer 0.10 Library Reference Manual | ||||
|---|---|---|---|---|
#include <gst/base/gstbitreader.h>
GstBitReader;
#define GST_BIT_READER_INIT (data, size)
#define GST_BIT_READER_INIT_FROM_BUFFER (buffer)
GstBitReader* gst_bit_reader_new (const guint8 *data,
guint size);
GstBitReader* gst_bit_reader_new_from_buffer (const GstBuffer *buffer);
void gst_bit_reader_free (GstBitReader *reader);
void gst_bit_reader_init (GstBitReader *reader,
const guint8 *data,
guint size);
void gst_bit_reader_init_from_buffer (GstBitReader *reader,
const GstBuffer *buffer);
guint gst_bit_reader_get_pos (const GstBitReader *reader);
guint gst_bit_reader_get_remaining (const GstBitReader *reader);
gboolean gst_bit_reader_set_pos (GstBitReader *reader,
guint pos);
gboolean gst_bit_reader_skip (GstBitReader *reader,
guint nbits);
gboolean gst_bit_reader_skip_to_byte (GstBitReader *reader);
gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader,
guint16 *val,
guint nbits);
gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader,
guint32 *val,
guint nbits);
gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader,
guint64 *val,
guint nbits);
gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader,
guint8 *val,
guint nbits);
gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader,
guint16 *val,
guint nbits);
gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader,
guint32 *val,
guint nbits);
gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader,
guint64 *val,
guint nbits);
gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader,
guint8 *val,
guint nbits);
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.
typedef struct {
const guint8 *data;
guint size;
guint byte; /* Byte position */
guint bit; /* Bit position in the current byte */
} GstBitReader;
A bit reader instance.
#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().
|
Data from which the GstBitReader should read |
|
Size of data in bytes
|
Since 0.10.22
#define GST_BIT_READER_INIT_FROM_BUFFER(buffer) {GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer), 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().
|
Buffer from which the GstBitReader should read |
Since 0.10.22
GstBitReader* gst_bit_reader_new (const guint8 *data, guint size);
Create a new GstBitReader instance, which will read from data.
|
Data from which the GstBitReader should read |
|
Size of data in bytes
|
Returns : |
a new GstBitReader instance |
Since 0.10.22
GstBitReader* gst_bit_reader_new_from_buffer (const GstBuffer *buffer);
Create a new GstBitReader instance, which will read from the
GstBuffer buffer.
|
Buffer from which the GstBitReader should read |
Returns : |
a new GstBitReader instance |
Since 0.10.22
void gst_bit_reader_free (GstBitReader *reader);
Frees a GstBitReader instance, which was previously allocated by
gst_bit_reader_new() or gst_bit_reader_new_from_buffer().
|
a GstBitReader instance |
Since 0.10.22
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.
|
a GstBitReader instance |
|
Data from which the GstBitReader should read |
|
Size of data in bytes
|
Since 0.10.22
void gst_bit_reader_init_from_buffer (GstBitReader *reader, const GstBuffer *buffer);
Initializes a GstBitReader instance to read from buffer. This function
can be called on already initialized instances.
|
a GstBitReader instance |
|
Buffer from which the GstBitReader should read |
Since 0.10.22
guint gst_bit_reader_get_pos (const GstBitReader *reader);
Returns the current position of a GstBitReader instance in bits.
|
a GstBitReader instance |
Returns : |
The current position of reader in bits.
|
Since 0.10.22
guint gst_bit_reader_get_remaining (const GstBitReader *reader);
Returns the remaining number of bits of a GstBitReader instance.
|
a GstBitReader instance |
Returns : |
The remaining number of bits of reader instance.
|
Since 0.10.22
gboolean gst_bit_reader_set_pos (GstBitReader *reader, guint pos);
Sets the new position of a GstBitReader instance to pos in bits.
|
a GstBitReader instance |
|
The new position in bits |
Returns : |
TRUE if the position could be set successfully, FALSE
otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_skip (GstBitReader *reader, guint nbits);
Skips nbits bits of the GstBitReader instance.
|
a GstBitReader instance |
|
the number of bits to skip |
Returns : |
TRUE if nbits bits could be skipped, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_skip_to_byte (GstBitReader *reader);
Skips until the next byte.
|
a GstBitReader instance |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader, guint16 *val, guint nbits);
Read nbits bits into val and update the current position.
|
a GstBitReader instance |
|
Pointer to a guint16 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader, guint32 *val, guint nbits);
Read nbits bits into val and update the current position.
|
a GstBitReader instance |
|
Pointer to a guint32 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader, guint64 *val, guint nbits);
Read nbits bits into val and update the current position.
|
a GstBitReader instance |
|
Pointer to a guint64 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader, guint8 *val, guint nbits);
Read nbits bits into val and update the current position.
|
a GstBitReader instance |
|
Pointer to a guint8 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader, guint16 *val, guint nbits);
Read nbits bits into val but keep the current position.
|
a GstBitReader instance |
|
Pointer to a guint16 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader, guint32 *val, guint nbits);
Read nbits bits into val but keep the current position.
|
a GstBitReader instance |
|
Pointer to a guint32 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader, guint64 *val, guint nbits);
Read nbits bits into val but keep the current position.
|
a GstBitReader instance |
|
Pointer to a guint64 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader, guint8 *val, guint nbits);
Read nbits bits into val but keep the current position.
|
a GstBitReader instance |
|
Pointer to a guint8 to store the result |
|
number of bits to read |
Returns : |
TRUE if successful, FALSE otherwise.
|
Since 0.10.22