diff --git a/dev/convert.html b/dev/convert.html
index 9518045..932f192 100644
--- a/dev/convert.html
+++ b/dev/convert.html
@@ -21,7 +21,7 @@
chunked: true,
chunkSize: 2**20
});
- const outputFormat = new Metamuxer.OggOutputFormat({
+ const outputFormat = new Metamuxer.WebMOutputFormat({
//streamable: true
//fastStart: 'fragmented'
});
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 8f8d66d..413e4de 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -39,6 +39,7 @@ export default tseslint.config(
'build.mjs',
'append-namespace.mjs',
'eslint.config.mjs',
+ 'docs/.vitepress/cache',
]
}
);
diff --git a/src/media-source.ts b/src/media-source.ts
index fbd600e..938d0f9 100644
--- a/src/media-source.ts
+++ b/src/media-source.ts
@@ -190,6 +190,8 @@ export type VideoEncodingConfig = {
onEncodedPacket?: (packet: EncodedPacket, meta: EncodedVideoChunkMetadata | undefined) => unknown;
/** Called when an error occurs during encoding. */
onEncodingError?: (error: Error) => unknown;
+ /** Called when the internal encoder config, as used by the WebCodecs API, is created. */
+ onEncoderConfig?: (config: VideoEncoderConfig) => unknown;
};
const validateVideoEncodingConfig = (config: VideoEncodingConfig) => {
@@ -337,6 +339,7 @@ class VideoEncoderWrapper {
latencyMode: this.encodingConfig.latencyMode,
...getVideoEncoderConfigExtension(this.encodingConfig.codec),
};
+ this.encodingConfig.onEncoderConfig?.(encoderConfig);
const MatchingCustomEncoder = customVideoEncoders.find(x => x.supports(
this.encodingConfig.codec,
@@ -634,6 +637,8 @@ export type AudioEncodingConfig = {
onEncodedPacket?: (packet: EncodedPacket, meta: EncodedAudioChunkMetadata | undefined) => unknown;
/** Called when an error occurs during encoding. */
onEncodingError?: (error: Error) => unknown;
+ /** Called when the internal encoder config, as used by the WebCodecs API, is created. */
+ onEncoderConfig?: (config: AudioEncoderConfig) => unknown;
};
const validateAudioEncodingConfig = (config: AudioEncodingConfig) => {
@@ -842,6 +847,7 @@ class AudioEncoderWrapper {
bitrate,
...getAudioEncoderConfigExtension(this.encodingConfig.codec),
};
+ this.encodingConfig.onEncoderConfig?.(encoderConfig);
const MatchingCustomEncoder = customAudioEncoders.find(x => x.supports(
this.encodingConfig.codec,