{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/8723","repository_url":"https://api.github.com/repos/xbmc/xbmc","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/8723/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/8723/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/8723/events","html_url":"https://github.com/xbmc/xbmc/pull/8723","id":124455541,"number":8723,"title":"Implement filecache retry logic","user":{"login":"arnova","id":544531,"avatar_url":"https://avatars.githubusercontent.com/u/544531?v=3","gravatar_id":"","url":"https://api.github.com/users/arnova","html_url":"https://github.com/arnova","followers_url":"https://api.github.com/users/arnova/followers","following_url":"https://api.github.com/users/arnova/following{/other_user}","gists_url":"https://api.github.com/users/arnova/gists{/gist_id}","starred_url":"https://api.github.com/users/arnova/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arnova/subscriptions","organizations_url":"https://api.github.com/users/arnova/orgs","repos_url":"https://api.github.com/users/arnova/repos","events_url":"https://api.github.com/users/arnova/events{/privacy}","received_events_url":"https://api.github.com/users/arnova/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":30,"created_at":"2015-12-31T10:18:03Z","updated_at":"2016-03-27T11:49:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/8723","html_url":"https://github.com/xbmc/xbmc/pull/8723","diff_url":"https://github.com/xbmc/xbmc/pull/8723.diff","patch_url":"https://github.com/xbmc/xbmc/pull/8723.patch"},"body":"This PR implements retry logic for our filecache. Especially poor (wifi) connections benefit for this. Previously we would simply (silently) abort in case a single Read() failed.\r\n\r\nWith this we simply retry a read, as long as we have data in our cache. This PR also adjusts Curl's fillbuffer retry logic to properly support Read() retries. This also disables CFileCurl's internal retry logic which could cause long waits (hangs) on exit when .e.g a connection timeout occurred.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/202047269","html_url":"https://github.com/xbmc/xbmc/pull/8723#issuecomment-202047269","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/8723","id":202047269,"user":{"login":"mapfau","id":12764616,"avatar_url":"https://avatars.githubusercontent.com/u/12764616?v=3","gravatar_id":"","url":"https://api.github.com/users/mapfau","html_url":"https://github.com/mapfau","followers_url":"https://api.github.com/users/mapfau/followers","following_url":"https://api.github.com/users/mapfau/following{/other_user}","gists_url":"https://api.github.com/users/mapfau/gists{/gist_id}","starred_url":"https://api.github.com/users/mapfau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapfau/subscriptions","organizations_url":"https://api.github.com/users/mapfau/orgs","repos_url":"https://api.github.com/users/mapfau/repos","events_url":"https://api.github.com/users/mapfau/events{/privacy}","received_events_url":"https://api.github.com/users/mapfau/received_events","type":"User","site_admin":false},"created_at":"2016-03-27T11:49:01Z","updated_at":"2016-03-27T11:49:01Z","body":"@arnova For testing you could:\r\n\r\n- curl the mpd file from the log\r\n- remove the ContentProtection Header in all the AdaptationSets (its xml)\r\n- set up an local web server (IIS / Apache)\r\n- make a strm file with http://localhost//test.mpd"}}