Add metadata-based duration retrieval

This commit is contained in:
Vanilagy
2026-03-13 17:03:36 +01:00
parent c43ca025d9
commit a9a455e132
23 changed files with 517 additions and 49 deletions
+11
View File
@@ -328,6 +328,13 @@ export class WaveDemuxer extends Demuxer {
return null;
}
async getDurationFromMetadata(): Promise<number | null> {
await this.readMetadata();
assert(this.dataSize !== -1);
return this.dataSize / this.audioInfo!.blockSizeInBytes / this.audioInfo!.sampleRate;
}
async getMimeType() {
return 'audio/wav';
}
@@ -414,6 +421,10 @@ class WaveAudioTrackBacking implements InputAudioTrackBacking {
return null;
}
getDurationFromMetadata() {
return this.demuxer.getDurationFromMetadata();
}
async getLiveRefreshInterval() {
return null;
}