{"action":"created","issue":{"url":"https://api.github.com/repos/dailymotion/hls.js/issues/626","repository_url":"https://api.github.com/repos/dailymotion/hls.js","labels_url":"https://api.github.com/repos/dailymotion/hls.js/issues/626/labels{/name}","comments_url":"https://api.github.com/repos/dailymotion/hls.js/issues/626/comments","events_url":"https://api.github.com/repos/dailymotion/hls.js/issues/626/events","html_url":"https://github.com/dailymotion/hls.js/issues/626","id":171511062,"number":626,"title":"Chrome dropping audio frames on live streams encoded by Apple's mediastreamsegmenter","user":{"login":"SirBryan","id":1480526,"avatar_url":"https://avatars.githubusercontent.com/u/1480526?v=3","gravatar_id":"","url":"https://api.github.com/users/SirBryan","html_url":"https://github.com/SirBryan","followers_url":"https://api.github.com/users/SirBryan/followers","following_url":"https://api.github.com/users/SirBryan/following{/other_user}","gists_url":"https://api.github.com/users/SirBryan/gists{/gist_id}","starred_url":"https://api.github.com/users/SirBryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SirBryan/subscriptions","organizations_url":"https://api.github.com/users/SirBryan/orgs","repos_url":"https://api.github.com/users/SirBryan/repos","events_url":"https://api.github.com/users/SirBryan/events{/privacy}","received_events_url":"https://api.github.com/users/SirBryan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-08-16T20:35:41Z","updated_at":"2016-08-21T10:56:17Z","closed_at":null,"body":"- [X] The stream has correct Access-Control-Allow-Origin headers (CORS)\r\n- [X] There are no network errors such as 404s in the browser console when trying to play the stream\r\n- [X] The issue observed is not already reported by searching on Github under https://github.com/dailymotion/hls.js/issues\r\n- [X] The issue occurs in the latest reference client on http://dailymotion.github.io/hls.js/demo and not just on my page\r\n* Link to playable M3U8 file: See inline\r\n* Hls.js version: 0.6.2-3\r\n* Browser name/version: Chrome/Firefox latest\r\n* OS name/version: Mac OS 10.11, Windows 7\r\n\r\n\r\nSynopsis:\r\n\r\nOur live channels are transcoded to h.264 with an RGB Networks (now Imagine) VMG.  All have two or three bitrates and resolutions (HD, Hi, Lo), and for several months I've been using mediastreamsegmenter to deliver the feeds to Apple TV, iOS and Android devices, and testing using Safari.  Everything has worked well and remained fairly stable/reliable.\r\n\r\nNow the need for cross-browser support has arrived. Initial tests with the various JavaScript players on Chrome and Firefox resulted in non-playing streams, or playback followed by freezing after 3-10 seconds, etc.  Many improvements to all of the free JavaScript players over the past few months have whittled away most of the playback problems--my props to the developers.\r\n\r\nAs part of my research, I came across issue #98, wherein it was noted that Apple's tools don't pad like ffmpeg (and others).  I have since switched my production segmenting to ffmpeg, which solved playback issues in all of the players, but introduced another problem.  ffmpeg isn't as stable as mediastreamsegmenter, and after 26+ hours, ffmpeg processes die as TS counters loop, or they die due to stream errors, or audio and video get out of sync and the segmenting process has to be restarted.  I have scripts that automatically restart the channels if ffmpeg dies completely, but that is a temporary band-aid to the problem, and nothing can detect audio-sync problems.  For those reasons, I'd prefer to stick with mediastreamsegmenter.\r\n\r\nI spent the last two nights playing with stable and prerelease versions of flowplayer, clappr, video.js, and hls.js standalone, as well as my current in-place solution of video.js with videojs-contrib-hls.  Except for Safari, they still all exhibit some form of audio choppiness with the Apple segmenter.\r\n\r\nThe most stable combination (with mediastreamsegmenter on the back end, that is) has been 0.6.2-3 of hls.js, with and without a separate front end (flowplayer, clappr, etc.).  I'm testing with the latest version of Chrome on Mac and Windows, on multiple machines (home and work, physical and virtual).\r\n\r\nI've stopped the segmenter and left 21 8-second segments for both HD (6Mbps 1280x720) and Hi (2Mbps 864x486) with their playlists and keys intact for testing:\r\n\r\nhttp://dailymotion.github.io/hls.js/demo/?src=https%3A%2F%2Fstream.beehive.net%2Fvideo%2F8E3E399D-DF66-4FC3-8AF0-92A52A1EBB97%2Fplaylist.m3u8&enableStreaming=true&autoRecoverError=true&enableWorker=true&levelCapping=-1&defaultAudioCodec=undefined\r\n\r\nI've noticed that each time the browser grabs a new segment, a log entry similar to these appears in chrome://media-internals:\r\n\r\n```\r\n00:00:46 293\tdebug\tDropping audio frame which failed decode with timestamp: 31822395 us, duration: 21333 us, packet size: 346 bytes\r\n00:00:54 234\tdebug\tDropping audio frame which failed decode with timestamp: 39779729 us, duration: 192000 us, packet size: 338 bytes\r\n00:01:02 13\tdebug\tDropping audio frame which failed decode with timestamp: 47758395 us, duration: 21333 us, packet size: 343 bytes\r\n00:01:09 954\tdebug\tDropping audio frame which failed decode with timestamp: 55715729 us, duration: 21333 us, packet size: 343 bytes\r\n00:01:17 942\tdebug\tDropping audio frame which failed decode with timestamp: 63737062 us, duration: 21333 us, packet size: 336 bytes\r\n00:01:25 813\tdebug\tDropping audio frame which failed decode with timestamp: 71630395 us, duration: 21333 us, packet size: 360 bytes\r\n00:01:41 835\tdebug\tDropping audio frame which failed decode with timestamp: 87673062 us, duration: 21333 us, packet size: 325 bytes\r\n```\r\n\r\nIt's like it doesn't like something at the tail end of the audio.\r\n\r\nIf I tell mediastreamsegmenter to round up the segment timecodes (#EXTINF from 7.97463 seconds to 8) and debugging enabled on hls.js, the JavaScript console complains about having blanks in the audio.  If I don't tell it to round up, I don't see any errors or complaints in the console logs. \r\n\r\nEventually, because the audio is shorter (the frame is being dropped), the audio gets ahead of the video and I have to restart the stream.\r\n\r\n-- Added this log after some more testing.  Using the same segments, but changing the plugin to go back 19 segments instead of 3, I can play the whole playlist.  It seems to hang up on segments 19 and 20 (the first two), likely due to corruption in the fragment(s).\r\n\r\n```\r\n[log] > loadSource:https://stream.beehive.net/video/8E3E399D-DF66-4FC3-8AF0-92A52A1EBB97/playlist.m3u8\r\n[log] > trigger BUFFER_RESET\r\n[log] > attachMedia\r\n[log] > manifest loaded,2 level(s) found, first bitrate:2000000\r\n[log] > 2 sourceBuffer(s) expected\r\n[log] > startLoad\r\n[log] > engine state transition from undefined to STOPPED\r\n[log] > demuxing in webworker\r\n[log] > engine state transition from STOPPED to STARTING\r\n[log] > switching to level 0\r\n[log] > (re)loading playlist for level 0\r\n[log] > engine state transition from STARTING to WAITING_LEVEL\r\n[warn] > cannot start loading as audio tracks not parsed yet\r\n[log] > audio tracks updated\r\n[log] > media source opened\r\n[log] > startLoad\r\n[log] > engine state transition from WAITING_LEVEL to STOPPED\r\n[log] > demuxing in webworker\r\n[log] > engine state transition from STOPPED to STARTING\r\n[log] > switching to level 0\r\n[log] > (re)loading playlist for level 0\r\n[warn] > abort previous loader for type:level\r\n[log] > engine state transition from STARTING to WAITING_LEVEL\r\n[log] > configure startPosition @-1\r\n[log] > live playlist, reload in 7955 ms\r\n[log] > level 0 loaded [18,27],duration:79.7463\r\n[log] > live playlist - first load, unknown sliding\r\n[log] > configure startPosition to 0\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 18 of [18 ,27],level 0\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 18 of [18 ,27],level 0, currentTime:0,bufferEnd:0.000\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  18 of level 0\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 18 of [18 ,27],level 0, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > creating sourceBuffer with mimeType:audio/mp4;codecs=mp4a.40.2\r\n[log] > creating sourceBuffer with mimeType:video/mp4;codecs=avc1.64001F\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.64001F/avc1.64001f]\r\n[log] > parsed audio,PTS:[0.000,8.021],DTS:[0.000/8.021],nb:376,dropped:0\r\n[log] > parsed video,PTS:[4.200,10.707],DTS:[4.133/10.640],nb:195,dropped:44\r\n[log] > Updating mediasource duration to 79.7463\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,8.021333]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > switching to level 1\r\n[log] > (re)loading playlist for level 1\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > target start position:0\r\n[log] > target start position not buffered, seek to buffered.start(0) 4.133422\r\n[log] > adjust currentTime from 0 to 4.133422\r\n[log] > media seeking to 4.133422\r\n[log] > live playlist, reload in 7958 ms\r\n[log] > level 1 loaded [19,28],duration:79.7463\r\n[log] > live playlist - first load, unknown sliding\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > live playlist, switching playlist, load frag with next SN: 19\r\n[log] > Loading key for 19 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > media seeked to 4.133422\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > live playlist, switching playlist, load frag with next SN: 19\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:4.153923,bufferEnd:8.021\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.640028/avc1.640028]\r\n[log] > parsed audio,PTS:[8.192,16.000],DTS:[8.192/16.000],nb:366,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,8.021333][8.192,10.639954][12.141422,15.999999]\r\n[log] > engine sls.js:11387 [log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 0\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [18 ,27],level 0, cc 0\r\n[loggine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 1 loaded [19,28],duration:79.7463\r\n[log] > live playlist sliding:8.192\r\n[log] > Updating mediasource duration to 87.9383\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:5.465451,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.640028/avc1.640028]\r\n[log] > parsed audio,PTS:[8.192,16.000],DTS:[8.192/16.000],nb:366,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:5.614379,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[16.000,23.957],DTS:[16.000/23.957],nb:373,dropped:0\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:5.766922,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:5.927315,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:6.085855,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:6.233083,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:6.394295,bufferEnd:10.640\r\n[warn] > level controller,fragLoopLoadingError: emergency switch-down for next fragment\r\n[warn] > mediaController: fragLoopLoadingError while loading frag,switch to IDLE state ...\r\n[log] > switching to level 0\r\n[log] > (re)loading playlist for level 0\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3978 ms\r\n[log] > level 0 loaded [18,27],duration:79.7463\r\n[log] > live playlist sliding:0.000\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [18 ,27],level 0\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [18 ,27],level 0, currentTime:6.496643,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 0\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [18 ,27],level 0, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.64001F/avc1.64001f]\r\n[log] > parsed audio,PTS:[8.021,16.043],DTS:[8.021/16.043],nb:376,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.781],DTS:[12.141/18.615],nb:194,dropped:45\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,18.614577][18.714666,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > switching to level 1\r\n[log] > (re)loading playlist for level 1\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3978 ms\r\n[log] > level 1 loaded [19,28],duration:79.7463\r\n[log] > live playlist sliding:8.192\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:6.649085,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.640028/avc1.640028]\r\n[log] > parsed audio,PTS:[8.192,16.000],DTS:[8.192/16.000],nb:366,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:6.79901,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[16.000,23.957],DTS:[16.000/23.957],nb:373,dropped:0\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:6.969128,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:7.134018,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:7.292972,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:7.441302,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:7.597165,bufferEnd:10.640\r\n[warn] > level controller,fragLoopLoadingError: emergency switch-down for next fragment\r\n[warn] > mediaController: fragLoopLoadingError while loading frag,switch to IDLE state ...\r\n[log] > switching to level 0\r\n[log] > (re)loading playlist for level 0\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 0 loaded [18,27],duration:79.7463\r\n[log] > live playlist sliding:0.000\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [18 ,27],level 0\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [18 ,27],level 0, currentTime:7.697106,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 0\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [18 ,27],level 0, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.64001F/avc1.64001f]\r\n[log] > parsed audio,PTS:[8.021,16.043],DTS:[8.021/16.043],nb:376,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.781],DTS:[12.141/18.615],nb:194,dropped:45\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,18.614577][18.714666,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > switching to level 1\r\n[log] > (re)loading playlist for level 1\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 1 loaded [19,28],duration:79.7463\r\n[log] > live playlist sliding:8.192\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:7.839222,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.640028/avc1.640028]\r\n[log] > parsed audio,PTS:[8.192,16.000],DTS:[8.192/16.000],nb:366,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:7.981785,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[16.000,23.957],DTS:[16.000/23.957],nb:373,dropped:0\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:8.133429,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:8.280316,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:8.440037,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:8.59221,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:8.75861,bufferEnd:10.640\r\n[warn] > level controller,fragLoopLoadingError: emergency switch-down for next fragment\r\n[warn] > mediaController: fragLoopLoadingError while loading frag,switch to IDLE state ...\r\n[log] > switching to level 0\r\n[log] > (re)loading playlist for level 0\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 0 loaded [18,27],duration:79.7463\r\n[log] > live playlist sliding:0.000\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [18 ,27],level 0\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [18 ,27],level 0, currentTime:8.899513,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 0\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [18 ,27],level 0, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.64001F/avc1.64001f]\r\n[log] > parsed audio,PTS:[8.021,16.043],DTS:[8.021/16.043],nb:376,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.781],DTS:[12.141/18.615],nb:194,dropped:45\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,18.614577][18.714666,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > switching to level 1\r\n[log] > (re)loading playlist for level 1\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 1 loaded [19,28],duration:79.7463\r\n[log] > live playlist sliding:8.192\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:9.031678,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.640028/avc1.640028]\r\n[log] > parsed audio,PTS:[8.192,16.000],DTS:[8.192/16.000],nb:366,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:9.175791,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[16.000,23.957],DTS:[16.000/23.957],nb:373,dropped:0\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:9.338698,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:9.484185,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:9.635434,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:9.780219,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:9.923867,bufferEnd:10.640\r\n[warn] > level controller,fragLoopLoadingError: emergency switch-down for next fragment\r\n[warn] > mediaController: fragLoopLoadingError while loading frag,switch to IDLE state ...\r\n[log] > switching to level 0\r\n[log] > (re)loading playlist for level 0\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 0 loaded [18,27],duration:79.7463\r\n[log] > live playlist sliding:0.000\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [18 ,27],level 0\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [18 ,27],level 0, currentTime:10.094583,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 0\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [18 ,27],level 0, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.64001F/avc1.64001f]\r\n[log] > parsed audio,PTS:[8.021,16.043],DTS:[8.021/16.043],nb:376,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.781],DTS:[12.141/18.615],nb:194,dropped:45\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,18.614577][18.714666,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > switching to level 1\r\n[log] > (re)loading playlist for level 1\r\n[log] > engine state transition from IDLE to WAITING_LEVEL\r\n[log] > same live playlist, reload twice faster\r\n[log] > live playlist, reload in 3980 ms\r\n[log] > level 1 loaded [19,28],duration:79.7463\r\n[log] > live playlist sliding:8.192\r\n[log] > engine state transition from WAITING_LEVEL to IDLE\r\n[log] > Loading key for 19 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[warn] > abort previous fragment loader for type:main\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:10.231804,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > track:audio,container:audio/mp4,codecs[level/parsed]=[mp4a.40.2/mp4a.40.5]\r\n[log] > track:video,container:video/mp4,codecs[level/parsed]=[avc1.640028/avc1.640028]\r\n[log] > parsed audio,PTS:[8.192,16.000],DTS:[8.192/16.000],nb:366,dropped:0\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 20\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:10.380385,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[16.000,23.957],DTS:[16.000/23.957],nb:373,dropped:0\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 19 of [19 ,28],level 1, currentTime:10.541242,bufferEnd:10.640\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  19 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 19 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[8.363,24.128],DTS:[8.363/24.128],nb:739,dropped:0\r\n[log] > adjust currentTime from 10.661631 to next buffered @ 12.141422 + nudge 0\r\n[log] > media seeking to 12.141422\r\n[log] > parsed video,PTS:[12.208,18.748],DTS:[12.141/18.715],nb:197,dropped:42\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > Loading 20 of [19 ,28],level 1, currentTime:12.141422,bufferEnd:24.128\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > media seeked to 12.141422\r\n[log] > Loaded  20 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 20 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed video,PTS:[18.881,26.689],DTS:[18.715/26.689],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,24.127999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 21\r\n[log] > Loading 21 of [19 ,28],level 1, currentTime:12.225877,bufferEnd:24.128\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  21 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 21 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[24.128,31.979],DTS:[24.128/31.979],nb:368,dropped:0\r\n[log] > parsed video,PTS:[26.723,34.731],DTS:[26.689/34.664],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,31.978666]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 22\r\n[log] > Loading 22 of [19 ,28],level 1, currentTime:12.37847,bufferEnd:31.979\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  22 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 22 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[31.979,39.936],DTS:[31.979/39.936],nb:373,dropped:0\r\n[log] > parsed video,PTS:[34.664,42.805],DTS:[34.664/42.639],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,39.935999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 23\r\n[log] > Loading 23 of [19 ,28],level 1, currentTime:12.534043,bufferEnd:39.936\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  23 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 23 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[39.936,47.915],DTS:[39.936/47.915],nb:366,dropped:0\r\n[log] > parsed video,PTS:[42.705,50.647],DTS:[42.639/50.613],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,47.914666]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 24\r\n[log] > Loading key for 24 of [19 ,28],level 1\r\n[log] > engine state transition from IDLE to KEY_LOADING\r\n[log] > engine state transition from KEY_LOADING to IDLE\r\n[log] > SN just loaded, load next one: 24\r\n[log] > Loading 24 of [19 ,28],level 1, currentTime:12.707322,bufferEnd:47.915\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  24 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 24 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[47.915,55.872],DTS:[47.915/55.872],nb:373,dropped:0\r\n[log] > parsed video,PTS:[50.780,58.588],DTS:[50.613/58.588],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,55.871999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 25\r\n[log] > Loading 25 of [19 ,28],level 1, currentTime:12.864756,bufferEnd:55.872\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  25 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 25 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[55.872,63.893],DTS:[55.872/63.893],nb:376,dropped:0\r\n[log] > parsed video,PTS:[58.621,66.629],DTS:[58.588/66.562],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,63.893333]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 26\r\n[log] > Loading 26 of [19 ,28],level 1, currentTime:13.023505,bufferEnd:63.893\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  26 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 26 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[63.893,71.787],DTS:[63.893/71.787],nb:370,dropped:0\r\n[log] > parsed video,PTS:[66.562,74.704],DTS:[66.562/74.537],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,71.786666]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 27\r\n[log] > Loading 27 of [19 ,28],level 1, currentTime:13.173867,bufferEnd:71.787\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  27 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 27 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[71.787,79.808],DTS:[71.787/79.808],nb:376,dropped:0\r\n[log] > parsed video,PTS:[74.604,82.545],DTS:[74.537/82.512],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,79.807999]\r\n[log] > engine state transition from PARSED to IDLE\r\n[log] > SN just loaded, load next one: 28\r\n[log] > Loading 28 of [19 ,28],level 1, currentTime:13.321233,bufferEnd:79.808\r\n[log] > engine state transition from IDLE to FRAG_LOADING\r\n[log] > Loaded  28 of level 1\r\n[log] > engine state transition from FRAG_LOADING to PARSING\r\n[log] > Demuxing 28 of [19 ,28],level 1, cc 0\r\n[log] > decrypting by WebCrypto API\r\n[log] > parsed audio,PTS:[79.808,87.829],DTS:[79.808/87.829],nb:376,dropped:0\r\n[log] > parsed video,PTS:[82.679,90.486],DTS:[82.512/90.486],nb:239,dropped:0\r\n[log] > engine state transition from PARSING to PARSED\r\n[log] > main buffered : [4.133422,10.639954][12.141422,87.829333]\r\n[log] > engine state transition from PARSED to IDLE\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/dailymotion/hls.js/issues/comments/241250982","html_url":"https://github.com/dailymotion/hls.js/issues/626#issuecomment-241250982","issue_url":"https://api.github.com/repos/dailymotion/hls.js/issues/626","id":241250982,"user":{"login":"blacktrash","id":168338,"avatar_url":"https://avatars.githubusercontent.com/u/168338?v=3","gravatar_id":"","url":"https://api.github.com/users/blacktrash","html_url":"https://github.com/blacktrash","followers_url":"https://api.github.com/users/blacktrash/followers","following_url":"https://api.github.com/users/blacktrash/following{/other_user}","gists_url":"https://api.github.com/users/blacktrash/gists{/gist_id}","starred_url":"https://api.github.com/users/blacktrash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blacktrash/subscriptions","organizations_url":"https://api.github.com/users/blacktrash/orgs","repos_url":"https://api.github.com/users/blacktrash/repos","events_url":"https://api.github.com/users/blacktrash/events{/privacy}","received_events_url":"https://api.github.com/users/blacktrash/received_events","type":"User","site_admin":false},"created_at":"2016-08-21T10:56:17Z","updated_at":"2016-08-21T10:56:17Z","body":"@SirBryan - just in case, for safety you may want to double check whether this happens also in generic playback; I don't have experience with mediastreamsegmenter for live, but when I tested mediafilesegmenter for VOD (so far I haven't tried the latest version) it truncated VOD duration of some videos, because it (over)aggressively discards TS overhead.\r\nNote as well that sometimes mediafilesegmenter created streams do not pass mediastreamvalidator check of the same toolkit (unless that is fixed in the very latest release)."}}
{"actor":{"display_login":"blacktrash"}}