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 (
); } }