UNPKG

mediabunny

Version:

Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.

85 lines 3.28 kB
/*! * Copyright (c) 2026-present, Vanilagy and contributors * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import { AudioCodec } from '../codec.js'; import { Demuxer } from '../demuxer.js'; import { Input } from '../input.js'; import { InputAudioTrackBacking } from '../input-track.js'; import { PacketRetrievalOptions } from '../media-sink.js'; import { MetadataTags } from '../metadata.js'; import { EncodedPacket } from '../packet.js'; import { Reader } from '../reader.js'; export declare enum WaveFormat { PCM = 1, IEEE_FLOAT = 3, ALAW = 6, MULAW = 7, EXTENSIBLE = 65534 } export declare class WaveDemuxer extends Demuxer { reader: Reader; metadataPromise: Promise<void> | null; dataStart: number; dataSize: number; audioInfo: { format: number; numberOfChannels: number; sampleRate: number; sampleSizeInBytes: number; blockSizeInBytes: number; } | null; trackBackings: WaveAudioTrackBacking[]; lastKnownPacketIndex: number; metadataTags: MetadataTags; constructor(input: Input); readMetadata(): Promise<void>; private parseFmtChunk; private parseListChunk; private parseId3Chunk; getCodec(): AudioCodec | null; getMimeType(): Promise<string>; getTrackBackings(): Promise<WaveAudioTrackBacking[]>; getMetadataTags(): Promise<MetadataTags>; } declare class WaveAudioTrackBacking implements InputAudioTrackBacking { demuxer: WaveDemuxer; constructor(demuxer: WaveDemuxer); getType(): "audio"; getId(): number; getNumber(): number; getCodec(): "vorbis" | "pcm-s16" | "pcm-s16be" | "pcm-s24" | "pcm-s24be" | "pcm-s32" | "pcm-s32be" | "pcm-f32" | "pcm-f32be" | "pcm-f64" | "pcm-f64be" | "pcm-u8" | "pcm-s8" | "ulaw" | "alaw" | "aac" | "opus" | "mp3" | "flac" | "ac3" | "eac3" | null; getInternalCodecId(): number; getDecoderConfig(): Promise<AudioDecoderConfig | null>; getNumberOfChannels(): number; getSampleRate(): number; getTimeResolution(): number; isRelativeToUnixEpoch(): boolean; getPairingMask(): bigint; getBitrate(): null; getAverageBitrate(): null; getDurationFromMetadata(): Promise<number>; getLiveRefreshInterval(): Promise<null>; getName(): null; getLanguageCode(): string; getDisposition(): { default: boolean; primary: boolean; forced: boolean; original: boolean; commentary: boolean; hearingImpaired: boolean; visuallyImpaired: boolean; }; private getPacketAtIndex; getFirstPacket(options: PacketRetrievalOptions): Promise<EncodedPacket | null>; getPacket(timestamp: number, options: PacketRetrievalOptions): Promise<EncodedPacket | null>; getNextPacket(packet: EncodedPacket, options: PacketRetrievalOptions): Promise<EncodedPacket | null>; getKeyPacket(timestamp: number, options: PacketRetrievalOptions): Promise<EncodedPacket | null>; getNextKeyPacket(packet: EncodedPacket, options: PacketRetrievalOptions): Promise<EncodedPacket | null>; } export {}; //# sourceMappingURL=wave-demuxer.d.ts.map