summaryrefslogtreecommitdiff
path: root/node_modules/prism-media/typings/opus.d.ts
blob: b37facbb353c354f825dddc7ddc5adb12453aa04 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { Transform } from 'stream';

interface OpusOptions {
  frameSize: number,
  channels: number,
  rate: number
}

export class OpusStream extends Transform {
  public encoder: any; // TODO: type opusscript/node-opus

  constructor(options?: OpusOptions);
  public static readonly type: 'opusscript' | 'node-opus' | '@discordjs/opus';
  public setBitrate(bitrate: number): void;
  public setFEC(enabled: boolean): void;
  public setPLP(percentage: number): void;
}

export namespace opus {
  interface OpusOptions {
    frameSize: number,
    channels: number,
    rate: number
  }

  export class Encoder extends OpusStream {}
  export class Decoder extends OpusStream {}
  export class OggDemuxer extends Transform {}
  export class WebmDemuxer extends Transform {}
}