Add fix to ensure VideoFrames are output in timestamp order, fix atTimestamps iterator logic & leaks

This commit is contained in:
Vanilagy
2025-02-16 18:30:14 +01:00
parent 444770d4f8
commit a4c5ab4a8c
10 changed files with 154 additions and 104 deletions
+4 -2
View File
@@ -478,6 +478,7 @@ class OggAudioTrackBacking implements InputAudioTrackBacking {
'key',
Math.max(0, additional.timestampInSamples) / this.internalSampleRate,
durationInSamples / this.internalSampleRate,
packet.endPage.headerStartPos + packet.endSegmentIndex,
);
this.sampleToMetadata.set(sample, {
@@ -738,11 +739,12 @@ class OggAudioTrackBacking implements InputAudioTrackBacking {
}
endSegmentIndex = currentSegmentIndex - 1;
const nextPosition = await this.demuxer.findNextPacketStart(reader, {
const pseudopacket: Packet = {
data: PLACEHOLDER_DATA,
endPage,
endSegmentIndex,
});
};
const nextPosition = await this.demuxer.findNextPacketStart(reader, pseudopacket);
if (nextPosition) {
// Let's rewind a single step (packet) - this previous packet ensures that we'll correctly compute the