Optionalproperties: Partial<{ byte: number; data: Uint8Array; size: number }>Free-function: g_free
Returns a newly-allocated copy of the current data
position if at least size bytes are left and
updates the current position. Free with g_free() when no longer needed.
true if successful, false otherwise.
Free-function: g_free
Returns a newly-allocated copy of the current data position if there is a NUL-terminated UTF-16 string in the data (this could be an empty string as well), and advances the current position.
No input checking for valid UTF-16 is done. This function is endianness agnostic - you should not assume the UTF-16 characters are in host endianness.
This function will fail if no NUL-terminator was found in in the data.
Note: there is no peek or get variant of this function to ensure correct byte alignment of the UTF-16 string.
true if a string could be read, false otherwise. The string put into str must be freed with g_free() when no longer needed.
Free-function: g_free
Returns a newly-allocated copy of the current data position if there is a NUL-terminated UTF-32 string in the data (this could be an empty string as well), and advances the current position.
No input checking for valid UTF-32 is done. This function is endianness agnostic - you should not assume the UTF-32 characters are in host endianness.
This function will fail if no NUL-terminator was found in in the data.
Note: there is no peek or get variant of this function to ensure correct byte alignment of the UTF-32 string.
true if a string could be read, false otherwise. The string put into str must be freed with g_free() when no longer needed.
Free-function: g_free
FIXME:Reads (copies) a NUL-terminated string in the GstBase.ByteReader instance, advancing the current position to the byte after the string. This will work for any NUL-terminated string with a character width of 8 bits, so ASCII, UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
true if a string could be read into str, false otherwise. The string put into str must be freed with g_free() when no longer needed.
Frees a GstBase.ByteReader instance, which was previously allocated by
gst_byte_reader_new().
Returns a constant pointer to the current data
position if at least size bytes are left and
updates the current position.
true if successful, false otherwise.
Read a 32 bit big endian floating point value into val
and update the current position.
true if successful, false otherwise.
Read a 32 bit little endian floating point value into val
and update the current position.
true if successful, false otherwise.
Read a 64 bit big endian floating point value into val
and update the current position.
true if successful, false otherwise.
Read a 64 bit little endian floating point value into val
and update the current position.
true if successful, false otherwise.
Read a signed 16 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 16 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 24 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 24 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 32 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 32 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 64 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 64 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read a signed 8 bit integer into val and update the current position.
true if successful, false otherwise.
Returns the current position of a GstBase.ByteReader instance in bytes.
The current position of reader in bytes.
Returns the remaining number of bytes of a GstBase.ByteReader instance.
The remaining number of bytes of reader instance.
Returns the total number of bytes of a GstBase.ByteReader instance.
The total number of bytes of reader instance.
Returns a constant pointer to the current data position if there is a NUL-terminated string in the data (this could be just a NUL terminator), advancing the current position to the byte after the string. This will work for any NUL-terminated string with a character width of 8 bits, so ASCII, UTF-8, ISO-8859-N etc.
No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
true if a string could be found, false otherwise.
Read an unsigned 16 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 16 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 24 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 24 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 32 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 32 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 64 bit big endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 64 bit little endian integer into val
and update the current position.
true if successful, false otherwise.
Read an unsigned 8 bit integer into val and update the current position.
true if successful, false otherwise.
Initializes a GstBase.ByteReader instance to read from data. This function
can be called on already initialized instances.
data from which the GstBase.ByteReader should read
Scan for pattern pattern with applied mask mask in the byte reader data,
starting from offset offset relative to the current position.
The bytes in pattern and mask are interpreted left-to-right, regardless
of endianness. All four bytes of the pattern must be present in the
byte reader data for it to match, even if the first or last bytes are masked
out.
It is an error to call this function without making sure that there is enough data (offset+size bytes) in the byte reader.
mask to apply to data before matching against pattern
pattern to match (after mask is applied)
offset from which to start scanning, relative to the current position
number of bytes to scan from offset
offset of the first match, or -1 if no match was found. Example: |[ // Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256); // -> returns 0 gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255); // -> returns -1 gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255); // -> returns 1 gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256); // -> returns -1 gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256); // -> returns 0 gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256); // -> returns 2 gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); // -> returns -1 ]|
Scan for pattern pattern with applied mask mask in the byte reader data,
starting from offset offset relative to the current position.
The bytes in pattern and mask are interpreted left-to-right, regardless
of endianness. All four bytes of the pattern must be present in the
byte reader data for it to match, even if the first or last bytes are masked
out.
It is an error to call this function without making sure that there is enough data (offset+size bytes) in the byte reader.
mask to apply to data before matching against pattern
pattern to match (after mask is applied)
offset from which to start scanning, relative to the current position
number of bytes to scan from offset
offset of the first match, or -1 if no match was found.
Returns a constant pointer to the current data
position if at least size bytes are left and
keeps the current position.
true if successful, false otherwise.
Read a 32 bit big endian floating point value into val
but keep the current position.
true if successful, false otherwise.
Read a 32 bit little endian floating point value into val
but keep the current position.
true if successful, false otherwise.
Read a 64 bit big endian floating point value into val
but keep the current position.
true if successful, false otherwise.
Read a 64 bit little endian floating point value into val
but keep the current position.
true if successful, false otherwise.
Read a signed 16 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 16 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 24 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 24 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 32 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 32 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 64 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 64 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read a signed 8 bit integer into val but keep the current position.
true if successful, false otherwise.
Returns a constant pointer to the current data position if there is a NUL-terminated string in the data (this could be just a NUL terminator). The current position will be maintained. This will work for any NUL-terminated string with a character width of 8 bits, so ASCII, UTF-8, ISO-8859-N etc.
No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
true if a string could be skipped, false otherwise.
Read an unsigned 16 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 16 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 24 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 24 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 32 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 32 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 64 bit big endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 64 bit little endian integer into val
but keep the current position.
true if successful, false otherwise.
Read an unsigned 8 bit integer into val but keep the current position.
true if successful, false otherwise.
Sets the new position of a GstBase.ByteReader instance to pos in bytes.
The new position in bytes
true if the position could be set successfully, false otherwise.
Skips nbytes bytes of the GstBase.ByteReader instance.
the number of bytes to skip
true if nbytes bytes could be skipped, false otherwise.
Skips a NUL-terminated UTF-16 string in the GstBase.ByteReader instance, advancing the current position to the byte after the string.
No input checking for valid UTF-16 is done.
This function will fail if no NUL-terminator was found in in the data.
true if a string could be skipped, false otherwise.
Skips a NUL-terminated UTF-32 string in the GstBase.ByteReader instance, advancing the current position to the byte after the string.
No input checking for valid UTF-32 is done.
This function will fail if no NUL-terminator was found in in the data.
true if a string could be skipped, false otherwise.
Skips a NUL-terminated string in the GstBase.ByteReader instance, advancing the current position to the byte after the string. This will work for any NUL-terminated string with a character width of 8 bits, so ASCII, UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
This function will fail if no NUL-terminator was found in in the data.
true if a string could be skipped, false otherwise.
GstBase.ByteReader provides a byte reader that can read different integer and floating point types from a memory buffer. It provides functions for reading signed/unsigned, little/big endian integers of 8, 16, 24, 32 and 64 bits and functions for reading little/big endian floating points numbers of 32 and 64 bits. It also provides functions to read NUL-terminated strings in various character encodings.