Gjsify LogoGjsify Logo

#GstByteReader 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.

record

Hierarchy

  • ByteReader

Index

Constructors

Properties

byte: number

Current byte position

field
data: Uint8Array

Data from which the bit reader will read

field
size: number

Size of data in bytes

field
name: string

Methods

  • dupData(): [boolean, Uint8Array]
  • 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.

    Returns [boolean, Uint8Array]

  • dupStringUtf16(): [boolean, number[]]
  • 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.

    Returns [boolean, number[]]

  • dupStringUtf32(): [boolean, number[]]
  • 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.

    Returns [boolean, number[]]

  • dupStringUtf8(): [boolean, string[]]
  • Free-function: g_free

    FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader 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.

    Returns [boolean, string[]]

  • free(): void
  • Frees a #GstByteReader instance, which was previously allocated by gst_byte_reader_new().

    Returns void

  • getData(): [boolean, Uint8Array]
  • Returns a constant pointer to the current data position if at least size bytes are left and updates the current position.

    Returns [boolean, Uint8Array]

  • getFloat32Be(): [boolean, number]
  • Read a 32 bit big endian floating point value into val and update the current position.

    Returns [boolean, number]

  • getFloat32Le(): [boolean, number]
  • Read a 32 bit little endian floating point value into val and update the current position.

    Returns [boolean, number]

  • getFloat64Be(): [boolean, number]
  • Read a 64 bit big endian floating point value into val and update the current position.

    Returns [boolean, number]

  • getFloat64Le(): [boolean, number]
  • Read a 64 bit little endian floating point value into val and update the current position.

    Returns [boolean, number]

  • getInt16Be(): [boolean, number]
  • Read a signed 16 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt16Le(): [boolean, number]
  • Read a signed 16 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt24Be(): [boolean, number]
  • Read a signed 24 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt24Le(): [boolean, number]
  • Read a signed 24 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt32Be(): [boolean, number]
  • Read a signed 32 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt32Le(): [boolean, number]
  • Read a signed 32 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt64Be(): [boolean, number]
  • Read a signed 64 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt64Le(): [boolean, number]
  • Read a signed 64 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getInt8(): [boolean, number]
  • Read a signed 8 bit integer into val and update the current position.

    Returns [boolean, number]

  • getPos(): number
  • Returns the current position of a #GstByteReader instance in bytes.

    Returns number

  • getRemaining(): number
  • Returns the remaining number of bytes of a #GstByteReader instance.

    Returns number

  • getSize(): number
  • Returns the total number of bytes of a #GstByteReader instance.

    Returns number

  • getStringUtf8(): [boolean, string[]]
  • 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.

    Returns [boolean, string[]]

  • getUint16Be(): [boolean, number]
  • Read an unsigned 16 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint16Le(): [boolean, number]
  • Read an unsigned 16 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint24Be(): [boolean, number]
  • Read an unsigned 24 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint24Le(): [boolean, number]
  • Read an unsigned 24 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint32Be(): [boolean, number]
  • Read an unsigned 32 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint32Le(): [boolean, number]
  • Read an unsigned 32 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint64Be(): [boolean, number]
  • Read an unsigned 64 bit big endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint64Le(): [boolean, number]
  • Read an unsigned 64 bit little endian integer into val and update the current position.

    Returns [boolean, number]

  • getUint8(): [boolean, number]
  • Read an unsigned 8 bit integer into val and update the current position.

    Returns [boolean, number]

  • init(data: Uint8Array): void
  • Initializes a #GstByteReader instance to read from data. This function can be called on already initialized instances.

    Parameters

    • data: Uint8Array

      data from which the #GstByteReader should read

    Returns void

  • maskedScanUint32(mask: number, pattern: number, offset: number, size: number): number
  • 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.

    Parameters

    • mask: number

      mask to apply to data before matching against pattern

    • pattern: number

      pattern to match (after mask is applied)

    • offset: number

      offset from which to start scanning, relative to the current position

    • size: number

      number of bytes to scan from offset

    Returns number

  • maskedScanUint32Peek(mask: number, pattern: number, offset: number, size: number): [number, number]
  • 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.

    Parameters

    • mask: number

      mask to apply to data before matching against pattern

    • pattern: number

      pattern to match (after mask is applied)

    • offset: number

      offset from which to start scanning, relative to the current position

    • size: number

      number of bytes to scan from offset

    Returns [number, number]

  • peekData(): [boolean, Uint8Array]
  • Returns a constant pointer to the current data position if at least size bytes are left and keeps the current position.

    Returns [boolean, Uint8Array]

  • peekFloat32Be(): [boolean, number]
  • Read a 32 bit big endian floating point value into val but keep the current position.

    Returns [boolean, number]

  • peekFloat32Le(): [boolean, number]
  • Read a 32 bit little endian floating point value into val but keep the current position.

    Returns [boolean, number]

  • peekFloat64Be(): [boolean, number]
  • Read a 64 bit big endian floating point value into val but keep the current position.

    Returns [boolean, number]

  • peekFloat64Le(): [boolean, number]
  • Read a 64 bit little endian floating point value into val but keep the current position.

    Returns [boolean, number]

  • peekInt16Be(): [boolean, number]
  • Read a signed 16 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt16Le(): [boolean, number]
  • Read a signed 16 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt24Be(): [boolean, number]
  • Read a signed 24 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt24Le(): [boolean, number]
  • Read a signed 24 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt32Be(): [boolean, number]
  • Read a signed 32 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt32Le(): [boolean, number]
  • Read a signed 32 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt64Be(): [boolean, number]
  • Read a signed 64 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt64Le(): [boolean, number]
  • Read a signed 64 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekInt8(): [boolean, number]
  • Read a signed 8 bit integer into val but keep the current position.

    Returns [boolean, number]

  • peekStringUtf8(): [boolean, string[]]
  • 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.

    Returns [boolean, string[]]

  • peekUint16Be(): [boolean, number]
  • Read an unsigned 16 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint16Le(): [boolean, number]
  • Read an unsigned 16 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint24Be(): [boolean, number]
  • Read an unsigned 24 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint24Le(): [boolean, number]
  • Read an unsigned 24 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint32Be(): [boolean, number]
  • Read an unsigned 32 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint32Le(): [boolean, number]
  • Read an unsigned 32 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint64Be(): [boolean, number]
  • Read an unsigned 64 bit big endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint64Le(): [boolean, number]
  • Read an unsigned 64 bit little endian integer into val but keep the current position.

    Returns [boolean, number]

  • peekUint8(): [boolean, number]
  • Read an unsigned 8 bit integer into val but keep the current position.

    Returns [boolean, number]

  • setPos(pos: number): boolean
  • Sets the new position of a #GstByteReader instance to pos in bytes.

    Parameters

    • pos: number

      The new position in bytes

    Returns boolean

  • skip(nbytes: number): boolean
  • Skips nbytes bytes of the #GstByteReader instance.

    Parameters

    • nbytes: number

      the number of bytes to skip

    Returns boolean

  • skipStringUtf16(): boolean
  • Skips a NUL-terminated UTF-16 string in the #GstByteReader 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.

    Returns boolean

  • skipStringUtf32(): boolean
  • Skips a NUL-terminated UTF-32 string in the #GstByteReader 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.

    Returns boolean

  • skipStringUtf8(): boolean
  • Skips a NUL-terminated string in the #GstByteReader 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.

    Returns boolean

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method