{"action":"created","issue":{"url":"https://api.github.com/repos/brion/ogv.js/issues/495","repository_url":"https://api.github.com/repos/brion/ogv.js","labels_url":"https://api.github.com/repos/brion/ogv.js/issues/495/labels{/name}","comments_url":"https://api.github.com/repos/brion/ogv.js/issues/495/comments","events_url":"https://api.github.com/repos/brion/ogv.js/issues/495/events","html_url":"https://github.com/brion/ogv.js/issues/495","id":304553226,"node_id":"MDU6SXNzdWUzMDQ1NTMyMjY=","number":495,"title":"OGV Seek issues when reaching end of WebM.","user":{"login":"thedracle","id":1301817,"node_id":"MDQ6VXNlcjEzMDE4MTc=","avatar_url":"https://avatars0.githubusercontent.com/u/1301817?v=4","gravatar_id":"","url":"https://api.github.com/users/thedracle","html_url":"https://github.com/thedracle","followers_url":"https://api.github.com/users/thedracle/followers","following_url":"https://api.github.com/users/thedracle/following{/other_user}","gists_url":"https://api.github.com/users/thedracle/gists{/gist_id}","starred_url":"https://api.github.com/users/thedracle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thedracle/subscriptions","organizations_url":"https://api.github.com/users/thedracle/orgs","repos_url":"https://api.github.com/users/thedracle/repos","events_url":"https://api.github.com/users/thedracle/events{/privacy}","received_events_url":"https://api.github.com/users/thedracle/received_events","type":"User","site_admin":false},"labels":[{"id":59534800,"node_id":"MDU6TGFiZWw1OTUzNDgwMA==","url":"https://api.github.com/repos/brion/ogv.js/labels/bug","name":"bug","color":"fc2929","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-12T21:49:41Z","updated_at":"2018-06-20T07:14:09Z","closed_at":null,"author_association":"NONE","body":"If we play the following clip to completion in OGV.js, and then attempt to seek, it ends up in a permanently locked state, and never recovers or plays back again:\r\n\r\nhttps://s3-us-west-1.amazonaws.com/hirevue-temp/ogv-demo.webm\r\n\r\nAs far as I can tell, it ends up in 'doProcessLinearSeeking', and codec.frameReady is always false.\r\n\r\nIt ends up evaluating:\r\nOGVPlayer.js @745: \r\n```\r\n log('stream ended during linear seeking on video');\r\ndataEnded = true;\r\ncontinueSeekedPlayback();\r\n```\r\n\r\nAnd inside that, both codec.frameTimestamp and codec.audioTimestamp are -1.\r\n\r\nAs far as I can tell, if the stream has ended, and the codec timestamps are now in a broken state, it never will end up recovering to seek to the position in the track I'm trying to seek to.\r\n\r\nAny help, or suggestions on a workaround here, would be greatly appreciated."},"comment":{"url":"https://api.github.com/repos/brion/ogv.js/issues/comments/398648451","html_url":"https://github.com/brion/ogv.js/issues/495#issuecomment-398648451","issue_url":"https://api.github.com/repos/brion/ogv.js/issues/495","id":398648451,"node_id":"MDEyOklzc3VlQ29tbWVudDM5ODY0ODQ1MQ==","user":{"login":"brion","id":103075,"node_id":"MDQ6VXNlcjEwMzA3NQ==","avatar_url":"https://avatars2.githubusercontent.com/u/103075?v=4","gravatar_id":"","url":"https://api.github.com/users/brion","html_url":"https://github.com/brion","followers_url":"https://api.github.com/users/brion/followers","following_url":"https://api.github.com/users/brion/following{/other_user}","gists_url":"https://api.github.com/users/brion/gists{/gist_id}","starred_url":"https://api.github.com/users/brion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brion/subscriptions","organizations_url":"https://api.github.com/users/brion/orgs","repos_url":"https://api.github.com/users/brion/repos","events_url":"https://api.github.com/users/brion/events{/privacy}","received_events_url":"https://api.github.com/users/brion/received_events","type":"User","site_admin":false},"created_at":"2018-06-20T07:14:09Z","updated_at":"2018-06-20T07:14:09Z","author_association":"OWNER","body":"Hmm, this is suspicious:\r\n\r\n```\r\nogv.js:66:7664\r\n[8653ms] i/o error: Error: seek past end of file\r\n```\r\n\r\nIt's seeking to position 1660385; the file is 1660474 bytes so this ... should work. Looking further, the underlying StreamFile object thinks the file length is 1048576 bytes. This may be a CORS header problem?\r\n\r\n\r\n```\r\nContent-Length | 1048576\r\nContent-Range | bytes 0-1048575/1660474\r\n```\r\n\r\nContent-Range has the correct total length, but there's no Access-Control-Allow-Headers to allow access to Content-Range, so it may be falling back to the Content-Length header (normally used when not doing partial requests).\r\n\r\nIf I copy the file to my local web server and load it into the demo it seems to seek back to start ok both before and after completion.\r\n\r\nIt should handle this case more gracefully than it does, though without CORS to allow use of Range header and its response data, seeking is tricky (though could be done in cached areas)."}}
{"actor":{"display_login":"brion"}}