diff --git a/resources/embed/embed.js b/resources/embed/embed.js
--- a/resources/embed/embed.js
+++ b/resources/embed/embed.js
#
+window.BensPlayerInstances = (window.BensPlayerInstances === undefined) ? [] : window.BensPlayerInstances;
#
return document.createElement(t);
#
@@ -20,6 +20,16 @@ function embedBensPlayer(vidurl,vidtype){
#
vidtype="application/x-mpegURL";
#
+ if (window.BensPlayerInstances.includes(vidid)){
#
+ window.BensPlayerInstances.push(vidid);
#
// We do this for 2 reasons
#
@@ -30,8 +40,8 @@ function embedBensPlayer(vidurl,vidtype){
#
vidurl = "https://videos.bentasker.co.uk/" + vidurl;
#
- document.write("<div id='BensplayerWrapper' class='BensVideoCont'></div>");
#
- var c = document.getElementById('BensplayerWrapper');
#
+ document.write("<div id='BensplayerWrapper" + vidid + "' class='BensVideoCont'></div>");
#
+ var c = document.getElementById('BensplayerWrapper'+vidid);
#
// First thing we need to do is get the player files loaded
#
@@ -41,15 +51,15 @@ function embedBensPlayer(vidurl,vidtype){
#
- window.playerSettings = { 'vidtype': vidtype, 'vidurl': vidurl }
#
+ playerSettings = { 'vidtype': vidtype, 'vidurl': vidurl}
#
// We then trigger the next steps in stages to make sure everything that needs to be loaded, is
#
+ loadVJS(vidid,playerSettings);
#
-function writePlayer(){
#
+function writePlayer(vidid,playerSettings){
#
// TODO: Be good to make this one conditional. Detect whether we've either been passed a list, or a M3U file and not load playlist
#
@@ -62,7 +72,7 @@ function writePlayer(){
#
// Get the width of our parent container to set video width later
#
- var c = document.getElementById('BensplayerWrapper');
#
+ var c = document.getElementById('BensplayerWrapper'+vidid);
#
var width = c.parentNode.clientWidth
#
@@ -70,10 +80,10 @@ function writePlayer(){
#
// Now start setting up the player itself
#
- d.id = "videowrapper";
#
+ d.id = "videowrapper"+vidid;
#
- v.setAttribute('id','video');
#
+ v.setAttribute('id','BensVideo' + vidid);
#
v.setAttribute('class','video-js');
#
v.setAttribute('controls','');
#
v.setAttribute('preload','auto');
#
@@ -81,8 +91,8 @@ function writePlayer(){
#
// now create the source
#
var src = cE('source');
#
- src.setAttribute('src',window.playerSettings['vidurl']);
#
- src.setAttribute('type',window.playerSettings['vidtype']);
#
+ src.setAttribute('src',playerSettings['vidurl']);
#
+ src.setAttribute('type',playerSettings['vidtype']);
#
@@ -91,35 +101,35 @@ function writePlayer(){
#
s.setAttribute('type','text/javascript');
#
- s.innerHTML = "window.player = videojs('video',\"{'fluid':true}\", function onPlayerReady(){console.log('Player Ready');});"
#
+ s.innerHTML = "window.player" + vidid +" = videojs('BensVideo" + vidid + "',\"{'fluid':true}\", function onPlayerReady(){console.log('Player Ready');});"
#
- var c = document.getElementById('BensplayerWrapper');
#
+function loadVJS(vidid,playerSettings){
#
+ var c = document.getElementById('BensplayerWrapper'+vidid);
#
e.setAttribute('type','text/javascript');
#
e.setAttribute('src','https://videos.bentasker.co.uk/resources/js/videojs/video.min.js');
#
if (window.playerSettings['vidtype'] == "application/x-mpegURL"){
#
- e.onload = function () { loadVJSHLS(); };
#
+ e.onload = function () { loadVJSHLS(vidid,playerSettings); };
#
- e.onload = function () { writePlayer(); };
#
+ e.onload = function () { writePlayer(vidid,playerSettings); };
#
-function loadVJSHLS(){
#
- var c = document.getElementById('BensplayerWrapper');
#
+function loadVJSHLS(vidid,playerSettings){
#
+ var c = document.getElementById('BensplayerWrapper'+vidid);
#
e.setAttribute('type','text/javascript');
#
e.setAttribute('src','https://videos.bentasker.co.uk/resources/js/videojs-contrib-hls.min.js');
#
- e.onload = function () { writePlayer(); };
#
+ e.onload = function () { writePlayer(vidid,playerSettings); };