{"action":"created","issue":{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7635","labels_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7635/labels{/name}","comments_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7635/comments","events_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7635/events","html_url":"https://github.com/hrydgard/ppsspp/pull/7635","id":64684760,"number":7635,"title":"Keep separate track of ffmpeg pos and decode pos","user":{"login":"unknownbrackets","id":191233,"avatar_url":"https://avatars.githubusercontent.com/u/191233?v=3","gravatar_id":"","url":"https://api.github.com/users/unknownbrackets","html_url":"https://github.com/unknownbrackets","followers_url":"https://api.github.com/users/unknownbrackets/followers","following_url":"https://api.github.com/users/unknownbrackets/following{/other_user}","gists_url":"https://api.github.com/users/unknownbrackets/gists{/gist_id}","starred_url":"https://api.github.com/users/unknownbrackets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unknownbrackets/subscriptions","organizations_url":"https://api.github.com/users/unknownbrackets/orgs","repos_url":"https://api.github.com/users/unknownbrackets/repos","events_url":"https://api.github.com/users/unknownbrackets/events{/privacy}","received_events_url":"https://api.github.com/users/unknownbrackets/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-03-27T03:29:59Z","updated_at":"2015-03-28T04:49:45Z","closed_at":"2015-03-27T23:09:47Z","pull_request":{"url":"https://api.github.com/repos/hrydgard/ppsspp/pulls/7635","html_url":"https://github.com/hrydgard/ppsspp/pull/7635","diff_url":"https://github.com/hrydgard/ppsspp/pull/7635.diff","patch_url":"https://github.com/hrydgard/ppsspp/pull/7635.patch"},"body":"FFmpeg buffers, so forcing the pos only makes FFmpeg read in garbage because it doesn't know that you seeked in the bytestream on it.\r\n\r\nThe code before was basically overwriting the seek pos after FFmpeg read it, and so when FFmpeg tried to continue reading, it ended up reading in a different place than it was aware of.  The old method of force seeking all the time (which causes early packets to get scrambled or something, so isn't good) \"worked around\" this problem because it made FFmpeg resend the seek position each time.\r\n\r\nThis might fix problems of bad data that existed before, when FFmpeg didn't decide to send the seek pos or otherwise got confused by its seek position getting mistreated.\r\n\r\nFixes #7633 and Grand Theft Auto.\r\n\r\n-[Unknown]"},"comment":{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/comments/87160194","html_url":"https://github.com/hrydgard/ppsspp/pull/7635#issuecomment-87160194","issue_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/7635","id":87160194,"user":{"login":"unknownbrackets","id":191233,"avatar_url":"https://avatars.githubusercontent.com/u/191233?v=3","gravatar_id":"","url":"https://api.github.com/users/unknownbrackets","html_url":"https://github.com/unknownbrackets","followers_url":"https://api.github.com/users/unknownbrackets/followers","following_url":"https://api.github.com/users/unknownbrackets/following{/other_user}","gists_url":"https://api.github.com/users/unknownbrackets/gists{/gist_id}","starred_url":"https://api.github.com/users/unknownbrackets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unknownbrackets/subscriptions","organizations_url":"https://api.github.com/users/unknownbrackets/orgs","repos_url":"https://api.github.com/users/unknownbrackets/repos","events_url":"https://api.github.com/users/unknownbrackets/events{/privacy}","received_events_url":"https://api.github.com/users/unknownbrackets/received_events","type":"User","site_admin":false},"created_at":"2015-03-28T04:49:45Z","updated_at":"2015-03-28T04:49:45Z","body":"bebbb1b7 is FFmpeg's code for \"invalid data\".  It means the bytes in the atrac3 stream are wrong.\r\n\r\nFor example, it could mean we're telling the game to write data to the wrong place or anything.  Somehow it's constructing a bad atrac3 stream.\r\n\r\n-[Unknown]"}}