player: call videojs.destroy() when transitioning

This commit is contained in:
calzoneman 2016-03-02 19:31:29 -08:00
parent e07cc0f5aa
commit d913f02657
4 changed files with 37 additions and 5 deletions

View file

@ -32,3 +32,5 @@ window.Player = class Player
getVolume: (cb) ->
cb(VOLUME)
destroy: ->

View file

@ -16,6 +16,12 @@ TYPE_MAP =
im: ImgurPlayer
window.loadMediaPlayer = (data) ->
try
if window.PLAYER
window.PLAYER.destroy()
catch error
console.error error
if data.meta.direct and data.type != 'gd'
try
window.PLAYER = new VideoJSPlayer(data)

View file

@ -131,6 +131,7 @@ window.VideoJSPlayer = class VideoJSPlayer extends Player
# existing player object, however it appears to be pretty glitchy when
# a video can't be played (either previous or next video). It's safer
# to just reset the entire thing.
@destroy()
@loadPlayer(data)
play: ->
@ -165,3 +166,8 @@ window.VideoJSPlayer = class VideoJSPlayer extends Player
cb(@player.volume())
else
cb(VOLUME)
destroy: ->
removeOld()
if @player
@player.dispose()