{"action":"created","issue":{"url":"https://api.github.com/repos/dailymotion/hls.js/issues/780","repository_url":"https://api.github.com/repos/dailymotion/hls.js","labels_url":"https://api.github.com/repos/dailymotion/hls.js/issues/780/labels{/name}","comments_url":"https://api.github.com/repos/dailymotion/hls.js/issues/780/comments","events_url":"https://api.github.com/repos/dailymotion/hls.js/issues/780/events","html_url":"https://github.com/dailymotion/hls.js/issues/780","id":185400319,"number":780,"title":"Memory leak using Worker (Blobs are not cleaned up)","user":{"login":"JeffreyMoerman","id":14902335,"avatar_url":"https://avatars.githubusercontent.com/u/14902335?v=3","gravatar_id":"","url":"https://api.github.com/users/JeffreyMoerman","html_url":"https://github.com/JeffreyMoerman","followers_url":"https://api.github.com/users/JeffreyMoerman/followers","following_url":"https://api.github.com/users/JeffreyMoerman/following{/other_user}","gists_url":"https://api.github.com/users/JeffreyMoerman/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffreyMoerman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffreyMoerman/subscriptions","organizations_url":"https://api.github.com/users/JeffreyMoerman/orgs","repos_url":"https://api.github.com/users/JeffreyMoerman/repos","events_url":"https://api.github.com/users/JeffreyMoerman/events{/privacy}","received_events_url":"https://api.github.com/users/JeffreyMoerman/received_events","type":"User","site_admin":false},"labels":[{"id":171943033,"url":"https://api.github.com/repos/dailymotion/hls.js/labels/bug","name":"bug","color":"fc2929","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-26T13:54:32Z","updated_at":"2016-10-28T07:39:52Z","closed_at":"2016-10-28T07:39:52Z","body":"##### Environment\r\n- [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: http://www.streambox.fr/playlists/x36xhzz/x36xhzz.m3u8\r\n* Hls.js version: dev-master\r\n* Browser name/version: Chrome 54.0.2840.71 (64-bit)\r\n* OS name/version: OSX El Capitan 10.11.6\r\n\r\n##### Steps to reproduce\r\n1. Open Demo page\r\nhttp://dailymotion.github.io/hls.js/demo\r\n2. Open blob-internals\r\nchrome://blob-internals/\r\n3. Toggle 'Enable Streaming' (will destroy and create a new instance)\r\n4. See amount of blobs grow with each toggle\r\n\r\n##### Expected behavior\r\nWorker blob is removed from memory\r\n\r\n##### Actual behavior\r\nWorker blob is retained in memory\r\n\r\n##### Problem origin and possible solution\r\nProblem originates from code generated by webworkify:\r\nBlob is created with URL.createObjectURL at https://github.com/dailymotion/hls.js/blob/master/dist/hls.js#L363\r\nbut a call to URL.revokeObjectURL is never made. \r\n\r\nIn their examples they call revokeObjectURL at the first message\r\nhttps://github.com/substack/webworkify#workerobjecturl\r\nhttps://github.com/substack/webworkify/blob/master/example/main.js\r\nI guess the same would be required in the error handler.\r\n\r\nhttps://github.com/dailymotion/hls.js/blob/master/src/demux/demuxer.js#L20"},"comment":{"url":"https://api.github.com/repos/dailymotion/hls.js/issues/comments/256856711","html_url":"https://github.com/dailymotion/hls.js/issues/780#issuecomment-256856711","issue_url":"https://api.github.com/repos/dailymotion/hls.js/issues/780","id":256856711,"user":{"login":"JeffreyMoerman","id":14902335,"avatar_url":"https://avatars.githubusercontent.com/u/14902335?v=3","gravatar_id":"","url":"https://api.github.com/users/JeffreyMoerman","html_url":"https://github.com/JeffreyMoerman","followers_url":"https://api.github.com/users/JeffreyMoerman/followers","following_url":"https://api.github.com/users/JeffreyMoerman/following{/other_user}","gists_url":"https://api.github.com/users/JeffreyMoerman/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffreyMoerman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffreyMoerman/subscriptions","organizations_url":"https://api.github.com/users/JeffreyMoerman/orgs","repos_url":"https://api.github.com/users/JeffreyMoerman/repos","events_url":"https://api.github.com/users/JeffreyMoerman/events{/privacy}","received_events_url":"https://api.github.com/users/JeffreyMoerman/received_events","type":"User","site_admin":false},"created_at":"2016-10-28T07:39:52Z","updated_at":"2016-10-28T07:39:52Z","body":"Thanks! I can confirm this fixes the issue"}}
{"actor":{"display_login":"JeffreyMoerman"}}