// The events are from https://www.w3.org/TR/html5/semantics-embedded-content.html#media-elements-event-summary import videojs from 'video.js' const Plugin = videojs.getPlugin('plugin') const EVENTS = [ 'loadstart', 'progress', 'suspend', 'abort', 'error', 'emptied', 'stalled', 'loadedmetadata', 'loadeddata', 'canplay', 'canplaythrough', 'playing', 'waiting', 'seeking', 'seeked', 'ended', 'durationchange', 'timeupdate', 'play', 'pause', 'ratechange', 'resize', 'volumechange', ] class EventLogger extends Plugin { constructor(player) { super(player) this.on(player, EVENTS, this.logEvents) } logEvents(event) { videojs.log(event) } /** * This function stops the plugin on dispose */ dispose() { super.dispose() videojs.log('the EventLogger plugin is being disposed') } } export default EventLogger