Add onEncoderConfig

This commit is contained in:
Vanilagy
2025-04-05 15:16:48 +02:00
parent 5e224510be
commit c95058e659
3 changed files with 8 additions and 1 deletions
+1 -1
View File
@@ -21,7 +21,7 @@
chunked: true,
chunkSize: 2**20
});
const outputFormat = new Metamuxer.OggOutputFormat({
const outputFormat = new Metamuxer.WebMOutputFormat({
//streamable: true
//fastStart: 'fragmented'
});
+1
View File
@@ -39,6 +39,7 @@ export default tseslint.config(
'build.mjs',
'append-namespace.mjs',
'eslint.config.mjs',
'docs/.vitepress/cache',
]
}
);
+6
View File
@@ -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,