// **************************************************************************** // LbryVolumeBarClass // **************************************************************************** import videojs from 'video.js'; const isDev = process.env.NODE_ENV !== 'production'; const VIDEOJS_CONTROL_BAR_CLASS = 'ControlBar'; const VIDEOJS_VOLUME_PANEL_CLASS = 'VolumePanel'; const VIDEOJS_VOLUME_CONTROL_CLASS = 'VolumeControl'; const VIDEOJS_VOLUME_BAR_CLASS = 'VolumeBar'; class LbryVolumeBarClass extends videojs.getComponent(VIDEOJS_VOLUME_BAR_CLASS) { constructor(player, options = {}) { super(player, options); } static replaceExisting(player) { try { const volumeControl = player .getChild(VIDEOJS_CONTROL_BAR_CLASS) .getChild(VIDEOJS_VOLUME_PANEL_CLASS) .getChild(VIDEOJS_VOLUME_CONTROL_CLASS); const volumeBar = volumeControl.getChild(VIDEOJS_VOLUME_BAR_CLASS); volumeControl.removeChild(volumeBar); volumeControl.addChild(new LbryVolumeBarClass(player)); } catch (error) { // In case it slips in 'Production', the original volume bar will be used and the site should still be working // (just not exactly the way we want). if (isDev) throw Error('\n\nvideojs.jsx: Volume Panel hierarchy changed?\n\n' + error); } } handleMouseDown(event) { super.handleMouseDown(event); event.stopPropagation(); } handleMouseMove(event) { super.handleMouseMove(event); event.stopPropagation(); } } export default LbryVolumeBarClass;