{"action":"created","issue":{"url":"https://api.github.com/repos/videojs/videojs-contrib-ads/issues/130","labels_url":"https://api.github.com/repos/videojs/videojs-contrib-ads/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/videojs/videojs-contrib-ads/issues/130/comments","events_url":"https://api.github.com/repos/videojs/videojs-contrib-ads/issues/130/events","html_url":"https://github.com/videojs/videojs-contrib-ads/issues/130","id":117839487,"number":130,"title":"Aborting video playback if a pre-roll fails","user":{"login":"shawnbuso","id":1238504,"avatar_url":"https://avatars.githubusercontent.com/u/1238504?v=3","gravatar_id":"","url":"https://api.github.com/users/shawnbuso","html_url":"https://github.com/shawnbuso","followers_url":"https://api.github.com/users/shawnbuso/followers","following_url":"https://api.github.com/users/shawnbuso/following{/other_user}","gists_url":"https://api.github.com/users/shawnbuso/gists{/gist_id}","starred_url":"https://api.github.com/users/shawnbuso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shawnbuso/subscriptions","organizations_url":"https://api.github.com/users/shawnbuso/orgs","repos_url":"https://api.github.com/users/shawnbuso/repos","events_url":"https://api.github.com/users/shawnbuso/events{/privacy}","received_events_url":"https://api.github.com/users/shawnbuso/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-11-19T15:37:37Z","updated_at":"2016-01-08T14:23:00Z","closed_at":null,"body":"I had a publisher on our [IMA plugin ](https://github.com/googleads/videojs-ima) ask how they can abort content playback if a pre-roll fails to load ([issue here, see the most recent post](https://github.com/googleads/videojs-ima/issues/128)). Looking at the event flow chart, I don't know if this is possible. In my error handler I can do one of three things:\r\n\r\n1. Fire adserror, which goes to content playback\r\n2. Do nothing, which will lead to an eventual timeout and then content playback.\r\n3. Fire adsready (even though they are not), which will result in readyforprerolll. From here I can:\r\n    1. Fire adserror, which will lead to content playback.\r\n    2. Fire adstart, which will enter ad playback mode.\r\n    3. Do nothing, which will lead to an eventual timeout and then content playback.\r\n\r\nIs there something I can do in my error handler to just tell the video player to stop everything and do nothing?"},"comment":{"url":"https://api.github.com/repos/videojs/videojs-contrib-ads/issues/comments/170016686","html_url":"https://github.com/videojs/videojs-contrib-ads/issues/130#issuecomment-170016686","issue_url":"https://api.github.com/repos/videojs/videojs-contrib-ads/issues/130","id":170016686,"user":{"login":"alouane","id":3225153,"avatar_url":"https://avatars.githubusercontent.com/u/3225153?v=3","gravatar_id":"","url":"https://api.github.com/users/alouane","html_url":"https://github.com/alouane","followers_url":"https://api.github.com/users/alouane/followers","following_url":"https://api.github.com/users/alouane/following{/other_user}","gists_url":"https://api.github.com/users/alouane/gists{/gist_id}","starred_url":"https://api.github.com/users/alouane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alouane/subscriptions","organizations_url":"https://api.github.com/users/alouane/orgs","repos_url":"https://api.github.com/users/alouane/repos","events_url":"https://api.github.com/users/alouane/events{/privacy}","received_events_url":"https://api.github.com/users/alouane/received_events","type":"User","site_admin":false},"created_at":"2016-01-08T14:23:00Z","updated_at":"2016-01-08T14:23:00Z","body":"Well, to pause the video, you can simply do player.pause(); and for customization you can popup a message by calling player.error(your_custom_code); // this will not block the player, it just show a simple message\r\nbut i think you want to reset the ad not the player, no?"}}