@remotion/media-parser
Version:
A pure JavaScript library for parsing video files
31 lines (30 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSeekingByteForFlac = void 0;
const getSeekingByteForFlac = ({ time, seekingHints, }) => {
let bestAudioSample;
for (const hint of seekingHints.audioSampleMap) {
if (hint.timeInSeconds > time) {
continue;
}
// Everything is a keyframe in flac, so if this sample does not cover the time, it's not a good candidate.
// Let's go to the next one. Exception: If we already saw the last sample, we use it so we find can at least
// find the closest one.
if (hint.timeInSeconds + hint.durationInSeconds < time &&
!seekingHints.lastSampleObserved) {
continue;
}
if (!bestAudioSample) {
bestAudioSample = hint;
continue;
}
if (bestAudioSample.timeInSeconds < hint.timeInSeconds) {
bestAudioSample = hint;
}
}
if (bestAudioSample) {
return bestAudioSample;
}
return null;
};
exports.getSeekingByteForFlac = getSeekingByteForFlac;