A play promise is in flight as this code runs so the player is not technically playing (although it will be). So we think that we need to pause the video for contrib-ads loading. This cancels the promise and the state of play is lost. This causes the play button to show back up during a preroll even though the user just clicked it.
This is a workaround for a problem that we are seeing which is going to be rather hard to solve.
The basic gist comes from this line of code: https://github.com/videojs/videojs-contrib-ads/blob/master/src/cancelContentPlay.js#L69
A play promise is in flight as this code runs so the player is not technically playing (although it will be). So we think that we need to pause the video for contrib-ads loading. This cancels the promise and the state of play is lost. This causes the play button to show back up during a preroll even though the user just clicked it.