in source/stale-playlist-detector/playlist.js [108:133]
_onEnter: async function() {
try {
let data = await http_get(classobject.options.url);
let parser = new m3u8_parser.Parser();
parser.push(data.body);
parser.end();
let now = epoch();
// get the segment duration
// let duration = (parser.manifest && parser.manifest.targetDuration) ? Number.parseFloat(parser.manifest.targetDuration) : 0;
let duration = lowest_duration(parser.manifest);
logger.info(`specified duration is ${duration}s [${classobject.options.url}]`);
let hex = playlist_hash(data.body);
logger.info(`playist hash is ${hex} [${classobject.options.url}]`);
let media_sequence = Number.parseInt(parser.manifest.mediaSequence);
logger.info(`media sequence is ${media_sequence} [${classobject.options.url}]`);
this.transition("check", {
"timeseconds": now,
"hash": hex,
"media_sequence": media_sequence,
"duration": duration
});
} catch (error) {
logger.error(error);
this.transition("check", classobject.last_sample);
}
}