mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-09-28 03:13:51 +02:00
Validate types returned by custom coders, refactor custom coder call serialization logic, improve metadata validation
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
import { Muxer } from '../muxer';
|
||||
import { Output, OutputAudioTrack } from '../output';
|
||||
import { parsePcmCodec, PcmAudioCodec } from '../codec';
|
||||
import { parsePcmCodec, PcmAudioCodec, validateAudioChunkMetadata } from '../codec';
|
||||
import { WaveFormat } from './wave-demuxer';
|
||||
import { RiffWriter } from './riff-writer';
|
||||
import { Writer } from '../writer';
|
||||
import { EncodedPacket } from '../packet';
|
||||
import { WavOutputFormat } from '../output-format';
|
||||
import { assert } from '../misc';
|
||||
|
||||
export class WaveMuxer extends Muxer {
|
||||
private format: WavOutputFormat;
|
||||
@@ -39,9 +40,10 @@ export class WaveMuxer extends Muxer {
|
||||
|
||||
try {
|
||||
if (!this.headerWritten) {
|
||||
if (!meta?.decoderConfig) {
|
||||
throw new Error('Decoder config is required for first audio sample.');
|
||||
}
|
||||
validateAudioChunkMetadata(meta);
|
||||
|
||||
assert(meta);
|
||||
assert(meta.decoderConfig);
|
||||
|
||||
this.writeHeader(track, meta.decoderConfig);
|
||||
this.headerWritten = true;
|
||||
|
||||
Reference in New Issue
Block a user