mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-09 16:53:47 +02:00
Add onEncoderConfig
This commit is contained in:
+1
-1
@@ -21,7 +21,7 @@
|
|||||||
chunked: true,
|
chunked: true,
|
||||||
chunkSize: 2**20
|
chunkSize: 2**20
|
||||||
});
|
});
|
||||||
const outputFormat = new Metamuxer.OggOutputFormat({
|
const outputFormat = new Metamuxer.WebMOutputFormat({
|
||||||
//streamable: true
|
//streamable: true
|
||||||
//fastStart: 'fragmented'
|
//fastStart: 'fragmented'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ export default tseslint.config(
|
|||||||
'build.mjs',
|
'build.mjs',
|
||||||
'append-namespace.mjs',
|
'append-namespace.mjs',
|
||||||
'eslint.config.mjs',
|
'eslint.config.mjs',
|
||||||
|
'docs/.vitepress/cache',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -190,6 +190,8 @@ export type VideoEncodingConfig = {
|
|||||||
onEncodedPacket?: (packet: EncodedPacket, meta: EncodedVideoChunkMetadata | undefined) => unknown;
|
onEncodedPacket?: (packet: EncodedPacket, meta: EncodedVideoChunkMetadata | undefined) => unknown;
|
||||||
/** Called when an error occurs during encoding. */
|
/** Called when an error occurs during encoding. */
|
||||||
onEncodingError?: (error: Error) => unknown;
|
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) => {
|
const validateVideoEncodingConfig = (config: VideoEncodingConfig) => {
|
||||||
@@ -337,6 +339,7 @@ class VideoEncoderWrapper {
|
|||||||
latencyMode: this.encodingConfig.latencyMode,
|
latencyMode: this.encodingConfig.latencyMode,
|
||||||
...getVideoEncoderConfigExtension(this.encodingConfig.codec),
|
...getVideoEncoderConfigExtension(this.encodingConfig.codec),
|
||||||
};
|
};
|
||||||
|
this.encodingConfig.onEncoderConfig?.(encoderConfig);
|
||||||
|
|
||||||
const MatchingCustomEncoder = customVideoEncoders.find(x => x.supports(
|
const MatchingCustomEncoder = customVideoEncoders.find(x => x.supports(
|
||||||
this.encodingConfig.codec,
|
this.encodingConfig.codec,
|
||||||
@@ -634,6 +637,8 @@ export type AudioEncodingConfig = {
|
|||||||
onEncodedPacket?: (packet: EncodedPacket, meta: EncodedAudioChunkMetadata | undefined) => unknown;
|
onEncodedPacket?: (packet: EncodedPacket, meta: EncodedAudioChunkMetadata | undefined) => unknown;
|
||||||
/** Called when an error occurs during encoding. */
|
/** Called when an error occurs during encoding. */
|
||||||
onEncodingError?: (error: Error) => unknown;
|
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) => {
|
const validateAudioEncodingConfig = (config: AudioEncodingConfig) => {
|
||||||
@@ -842,6 +847,7 @@ class AudioEncoderWrapper {
|
|||||||
bitrate,
|
bitrate,
|
||||||
...getAudioEncoderConfigExtension(this.encodingConfig.codec),
|
...getAudioEncoderConfigExtension(this.encodingConfig.codec),
|
||||||
};
|
};
|
||||||
|
this.encodingConfig.onEncoderConfig?.(encoderConfig);
|
||||||
|
|
||||||
const MatchingCustomEncoder = customAudioEncoders.find(x => x.supports(
|
const MatchingCustomEncoder = customAudioEncoders.find(x => x.supports(
|
||||||
this.encodingConfig.codec,
|
this.encodingConfig.codec,
|
||||||
|
|||||||
Reference in New Issue
Block a user