detritus

Socketclass

The encrypted UDP transport that sends and receives voice packets.

On this page
import { MediaUdp } from 'detritus-client-socket';

MediaUdp.Socket;
EventEmitterEventSpewerSocket
21 properties18 methodssrc/mediaudp.ts:90

Constructor

Properties

codecs
{ audio: string | null; video: string | null }
connected
boolean
headers
{ audio: RTPHeader; video?: RTPHeader }
keepAlive
{ counter: number; interval: Interval; intervalTime: number }
key
Uint8Array<ArrayBufferLike> | null
mediaGateway
mode
string | null
nonces
{ audio: RTPNonce; video?: RTPNonce }
remote
socket
Socket | null
ssrc
number
transportId
string | null

Accessors

audioSSRC
number
get
receiveEnabled
boolean
get
rtpAudioPayloadType
number | null
get
rtpRTXPayloadType
number | null
get
rtpVideoPayloadType
number | null
get
rtxSSRC
number
get
videoEnabled
boolean
get
videoSSRC
number
get

Methods

connect()

src/mediaudp.ts:284
connect(ip?: string | null, port?: number | null): Socket
ip?
string | null
Default null
port?
number | null
Default null

emitRTPError()

src/mediaudp.ts:626
emitRTPError(
  event: string,
  message: string,
  from: UDPFrom,
  packet: Buffer,
  rtp?: RTPPayload,
): void

Only builds the error (and its stack trace) when something listens for it, dropped packets can come in at hundreds a second

on()

src/mediaudp.ts:791
on(event: string | symbol, listener: (...args: any[]) => void): this

Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

server.on('connection', (stream) => {
  console.log('someone connected!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
//   b
//   a

Since v0.1.101

event
string | symbol
listener
(...args: any[]) => void

The callback function

on(event: "close", listener: () => any): this
on(event: "killed", listener: () => any): this
on(event: "log", listener: (error: Error) => any): this
on(event: "open", listener: () => any): this
on(event: "packet", listener: (packet: TransportPacket) => any): this
on(event: "ready", listener: () => any): this
on(event: "socket", listener: (socket: Socket) => any): this
on(event: "warn", listener: (error: Error) => any): this
Overrides EventSpewer.on