import React from 'react'; import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; import { Pager } from './pager'; import { MenuBar } from './menubar'; import { getMimeType } from '../../helpers/'; import videojs from 'video.js'; import 'videojs-contrib-hls'; import 'video.js/dist/video-js.css'; import './videoplayer.scss'; export class VideoPlayer extends React.Component { constructor(props){ super(props); if(!window.overrides["video-map-sources"]){ window.overrides["video-map-sources"] = function(s){ return s; }; } } componentDidMount(){ this.player = videojs(this.refs.$video, { controls: true, sources: window.overrides["video-map-sources"]([{ src: this.props.data, type: getMimeType(this.props.data) }]) }); } componentWillReceiveProps(nextProps){ if(this.props.data === nextProps.data){ this.player = videojs(this.refs.$video, { controls: true, sources: window.overrides["video-map-sources"]([{ src: nextProps.data, type: getMimeType(this.props.data) }]) }); } } componentWillUnmount() { if (this.player) { this.player.dispose(); } } render(){ return (
); } }