Skip to content

Commit

Permalink
HFP-1779 Move videoXAPI variable to video.js
Browse files Browse the repository at this point in the history
  • Loading branch information
otacke committed Apr 1, 2018
1 parent 166c8d3 commit 5c1f995
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 31 deletions.
26 changes: 10 additions & 16 deletions scripts/html5.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,6 @@ H5P.VideoHtml5 = (function ($) {
function Html5(sources, options, l10n) {
var self = this;

/**
* xAPI Helper.
* @private
*/
var videoXAPI = new H5P.VideoXAPI(self);

/**
* Displayed when the video is buffering
* @private
Expand Down Expand Up @@ -162,7 +156,7 @@ H5P.VideoHtml5 = (function ($) {
}
}

return videoXAPI.getArgsXAPIInitialized(video.videoWidth, video.videoHeight, video.playbackRate, video.volume, ccEnabled, ccLanguage);
return self.videoXAPI.getArgsXAPIInitialized(video.videoWidth, video.videoHeight, video.playbackRate, video.volume, ccEnabled, ccLanguage);

};

Expand Down Expand Up @@ -195,13 +189,13 @@ H5P.VideoHtml5 = (function ($) {

if (arg === H5P.Video.PLAYING) {
if (self.seeking === true) {
extraArg = videoXAPI.getArgsXAPISeeked(self.seekedTo);
extraArg = self.videoXAPI.getArgsXAPISeeked(self.seekedTo);
extraTrigger = 'seeked';
lastSend = 'seeked';
self.seeking = false;
}
else if (lastSend !== 'play') {
extraArg = videoXAPI.getArgsXAPIPlayed(video.currentTime);
extraArg = self.videoXAPI.getArgsXAPIPlayed(video.currentTime);
extraTrigger = 'play';
lastSend = 'play';
}
Expand All @@ -211,7 +205,7 @@ H5P.VideoHtml5 = (function ($) {
// Put together extraArg for sending to xAPI statement.
if (!video.seeking && self.seeking === false && video.currentTime !== video.duration) {
extraTrigger = 'paused';
extraArg = videoXAPI.getArgsXAPIPaused(video.currentTime, video.duration);
extraArg = self.videoXAPI.getArgsXAPIPaused(video.currentTime, video.duration);
lastSend = 'paused';
}
}
Expand All @@ -221,10 +215,10 @@ H5P.VideoHtml5 = (function ($) {
var length = video.duration;
if (length > 0) {
// Length passed in as current time, because at end of video when this is fired currentTime reset to 0 if on loop
var progress = videoXAPI.getProgress(length, length);
var progress = self.videoXAPI.getProgress(length, length);
if (progress >= 0.95) {
extraTrigger = 'finished';
extraArg = videoXAPI.getArgsXAPICompleted(video.currentTime, video.duration, progress);
extraArg = self.videoXAPI.getArgsXAPICompleted(video.currentTime, video.duration, progress);
lastSend = 'finished';
}
}
Expand All @@ -237,23 +231,23 @@ H5P.VideoHtml5 = (function ($) {
return; // Just need to store current time for seeked event.
break;
case 'volumechange' :
arg = videoXAPI.getArgsXAPIVolumeChanged(video.currentTime, video.muted, video.volume);
arg = self.videoXAPI.getArgsXAPIVolumeChanged(video.currentTime, video.muted, video.volume);
lastSend = 'volumechange';
break;
case 'play':
if (self.seeking === false && lastSend !== h5p) {
arg = videoXAPI.getArgsXAPIPlayed(video.currentTime);
arg = self.videoXAPI.getArgsXAPIPlayed(video.currentTime);
lastSend = h5p;
}
else {
arg = videoXAPI.getArgsXAPISeeked(self.seekedTo);
arg = self.videoXAPI.getArgsXAPISeeked(self.seekedTo);
lastSend = 'seeked';
self.seeking = false;
h5p = 'seeked';
}
break;
case 'fullscreen':
arg = videoXAPI.getArgsXAPIFullScreen(video.currentTime, video.videoWidth, video.videoHeight);
arg = self.videoXAPI.getArgsXAPIFullScreen(video.currentTime, video.videoWidth, video.videoHeight);
lastSend = h5p;
break;
case 'loaded':
Expand Down
2 changes: 2 additions & 0 deletions scripts/video.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ H5P.Video = (function ($, ContentCopyrights, MediaCopyright, handlers) {
function Video(parameters, id) {
var self = this;

self.videoXAPI = new H5P.VideoXAPI(self);

// Ref youtube.js - ipad & youtube - issue
self.pressToPlay = false;

Expand Down
24 changes: 9 additions & 15 deletions scripts/youtube.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,6 @@ H5P.VideoYouTube = (function ($) {
function YouTube(sources, options, l10n) {
var self = this;

/**
* xAPI Helper.
* @private
*/
var videoXAPI = new H5P.VideoXAPI(self);

var player;
var playbackRate = 1;
var id = 'h5p-youtube-' + numInstances;
Expand Down Expand Up @@ -127,27 +121,27 @@ H5P.VideoYouTube = (function ($) {
if (state.data === 1) {
// Get and send play call when not seeking.
if (self.seeking === false) {
self.trigger('play', videoXAPI.getArgsXAPIPlayed(player.getCurrentTime()));
self.trigger('play', self.videoXAPI.getArgsXAPIPlayed(player.getCurrentTime()));
}
else {
self.trigger('seeked', videoXAPI.getArgsXAPISeeked(self.seekedTo));
self.trigger('seeked', self.videoXAPI.getArgsXAPISeeked(self.seekedTo));
self.seeking = false;
}
}
else if (state.data === 2) {
// This is a paused event.
if (self.seeking === false) {
self.trigger('paused', videoXAPI.getArgsXAPIPaused(player.getCurrentTime(), self.duration));
self.trigger('paused', self.videoXAPI.getArgsXAPIPaused(player.getCurrentTime(), self.duration));
}
}
else if (state.data === 0) {
// Send xapi trigger if video progress indicates finished.
var length = self.duration;
if (length > 0) {
// Length passed in as current time, because at end of video when this is fired currentTime reset to 0 if on loop
var progress = videoXAPI.getProgress(length, length);
var progress = self.videoXAPI.getProgress(length, length);
if (progress >= 0.95) {
var arg = videoXAPI.getArgsXAPICompleted(player.getCurrentTime(), self.duration, progress);
var arg = self.videoXAPI.getArgsXAPICompleted(player.getCurrentTime(), self.duration, progress);
self.trigger('finished', arg);
}
}
Expand Down Expand Up @@ -240,7 +234,7 @@ H5P.VideoYouTube = (function ($) {
ccLanguage = player.getOptions('cc', 'track').languageCode;
}

return videoXAPI.getArgsXAPIInitialized(width, height, self.getPlaybackRate(), self.getVolume(), ccEnabled, ccLanguage, self.getQuality());
return self.videoXAPI.getArgsXAPIInitialized(width, height, self.getPlaybackRate(), self.getVolume(), ccEnabled, ccLanguage, self.getQuality());

};

Expand Down Expand Up @@ -420,7 +414,7 @@ H5P.VideoYouTube = (function ($) {
return;
}

self.trigger('volumechange', videoXAPI.getArgsXAPIVolumeChanged(player.getCurrentTime(), true, player.getVolume()));
self.trigger('volumechange', self.videoXAPI.getArgsXAPIVolumeChanged(player.getCurrentTime(), true, player.getVolume()));

player.mute();
};
Expand All @@ -435,7 +429,7 @@ H5P.VideoYouTube = (function ($) {
return;
}

self.trigger('volumechange', videoXAPI.getArgsXAPIVolumeChanged(player.getCurrentTime(), false, player.getVolume()));
self.trigger('volumechange', self.videoXAPI.getArgsXAPIVolumeChanged(player.getCurrentTime(), false, player.getVolume()));

player.unMute();
};
Expand Down Expand Up @@ -479,7 +473,7 @@ H5P.VideoYouTube = (function ($) {
return;
}

self.trigger('volumechange', videoXAPI.getArgsXAPIVolumeChanged(player.getCurrentTime(), player.isMuted(), level));
self.trigger('volumechange', self.videoXAPI.getArgsXAPIVolumeChanged(player.getCurrentTime(), player.isMuted(), level));

player.setVolume(level);
};
Expand Down

0 comments on commit 5c1f995

Please sign in to comment.