Los eventos canplay / canplaythrough through para un video HTML5 no se llaman en Firefox. ¿Por qué?

Estoy creando un complemento de jQuery para administrar videos HTML5. Estoy tratando de capturar la canplay y canplay a través de eventos. En Chrome, el evento se dispara sin problema. En Firefox, a veces se activa, a veces no se activa.

Aquí estoy simplificando un poco mi código:

$('#my_video').on('canplay canplaythrough', function(){
    console.log('canplay event fired');
});

También probé con el javascript nativo .addEventListener () y no está funcionando.

¿Alguna idea de por qué el evento no se llama en Firefox y cómo solucionarlo?

NOTA: Por favor, no me diga que use uno de los complementos ya disponibles, como jplayer y video-js, sé que existen y funcionan bien, pero tengo que crear una solución interna.