You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
774B

  1. import { Transform } from 'stream';
  2. interface OpusOptions {
  3. frameSize: number,
  4. channels: number,
  5. rate: number
  6. }
  7. export class OpusStream extends Transform {
  8. public encoder: any; // TODO: type opusscript/node-opus
  9. constructor(options?: OpusOptions);
  10. public static readonly type: 'opusscript' | 'node-opus' | '@discordjs/opus';
  11. public setBitrate(bitrate: number): void;
  12. public setFEC(enabled: boolean): void;
  13. public setPLP(percentage: number): void;
  14. }
  15. export namespace opus {
  16. interface OpusOptions {
  17. frameSize: number,
  18. channels: number,
  19. rate: number
  20. }
  21. export class Encoder extends OpusStream {}
  22. export class Decoder extends OpusStream {}
  23. export class OggDemuxer extends Transform {}
  24. export class WebmDemuxer extends Transform {}
  25. }