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.
const guint8 *data ; |
Data from which the bit reader will read |
guint size ; |
Size of data in bytes
|
guint byte ; |
Current byte position |
guint bit ; |
Bit position in the current byte |
#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 : |
Data from which the GstBitReader should read |
size : |
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 : |
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 : |
Data from which the GstBitReader should read |
size : |
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 : |
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()
.
reader : |
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.
reader : |
a GstBitReader instance |
data : |
Data from which the GstBitReader should read |
size : |
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.
reader : |
a GstBitReader instance |
buffer : |
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.
reader : |
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.
reader : |
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.
reader : |
a GstBitReader instance |
pos : |
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.
reader : |
a GstBitReader instance |
nbits : |
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.
reader : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint16 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint32 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint64 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint8 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint16 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint32 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint64 to store the result |
nbits : |
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.
reader : |
a GstBitReader instance |
val : |
Pointer to a guint8 to store the result |
nbits : |
number of bits to read |
Returns : | TRUE if successful, FALSE otherwise.
|
Since 0.10.22