RTSReader to unserialize RTS container

Format: MEDIA PACKET -- (uint8 headerSize)[7bit trackId+1 << 2 | type](7bit firstTime)[7bit duration << 2 | hasCompositionOffset<<1 | isKeyFrame](7bit compositionOffset)(7bit size) [frame] -- DATA PACKET -- (uint8 headerSize)[7bit trackId+1 << 2 | type][7bit time](7bit size) [frame] -- INIT TRACKS -- (uint8 headerSize)[7bit 0 << 2 | 3] (7bit videoTrackId+1) (7bit audioTrackId+1)-- METADATA -- (uint8 headerSize)[7bit 0 << 2 | 0] (7bit size) [meta] --

size => optional content size! trackId => track id type = [0, 1, 2, 3] = [Data, Audio, Video, Reserved] firstTime => timestamp only the first time per track after a INIT TRACKS signal time => data time compositionOffset => composition offset frame => binary frame payload meta => JSON metadata payload

Hierarchy (view full)

Constructors

Properties

_header?: Uint8Array
_nextTimes: Map<number, number>
_params: {
    withSize?: boolean;
} = {}

Type declaration

  • Optional withSize?: boolean
log: ILog

Start a log

Param: args

Returns

a Log object with the levels of log to call

Methods

  • Children class must implement the parsing logic, and returns how many bytes have to be kept.

    Parameters

    • packet: Uint8Array

      the binary to parse

    Returns number

  • Event unsubscription

    Parameters

    • name: "data" | "error" | "audio" | "video" | "metadata" | "Data" | "Error" | "Metadata" | "Audio" | "Video"

      Name of event without the 'on' prefix (ex: 'log' to 'onLog' event declared)

    • event: Function

      Unsubscriber Function, must be the one passed to on or once subscription methods

    Returns boolean

  • Event subscription

    Parameters

    • name: "data" | "error" | "audio" | "video" | "metadata" | "Data" | "Error" | "Metadata" | "Audio" | "Video"

      Name of event without the on prefix (ex: log to onLog event declared)

    • event: Function

      Subscriber Function

    • Optional options: {
          signal?: AbortSignal;
      }
      • Optional signal?: AbortSignal

        Optional AbortSignal to stop this or multiple subscriptions in same time

    Returns void

  • Event subscription only one time, once time fired it's automatically unsubscribe

    Parameters

    • name: "data" | "error" | "audio" | "video" | "metadata" | "Data" | "Error" | "Metadata" | "Audio" | "Video"

      Name of event without the on prefix (ex: log to onLog event declared)

    • event: Function

      Subscriber Function

    • Optional options: {
          signal?: AbortSignal;
      }
      • Optional signal?: AbortSignal

    Returns void

Events