_onEnter: async function()

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);
                        }
                    }