Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
paladox bef4c96a4b v5.2.2 dist 2015-11-23 17:32:00 +00:00
19 arquivos alterados com 122 adições e 139 exclusões
-8
Ver Arquivo
@@ -6,14 +6,6 @@ _(none)_
--------------------
## 5.2.4 (2015-11-25)
* @gesinger checked for track changes before tech started listening ([view](https://github.com/videojs/video.js/pull/2835))
* @gesinger fixed handler explosion for cuechange events ([view](https://github.com/videojs/video.js/pull/2849))
* @mmcc fixed vertical volume ([view](https://github.com/videojs/video.js/pull/2859))
## 5.2.3 (2015-11-24)
* @gkatsev fixed clearing out errors ([view](https://github.com/videojs/video.js/pull/2850))
## 5.2.2 (2015-11-23)
* @DatTran fixed bower paths. Fixes #2740 ([view](https://github.com/videojs/video.js/pull/2775))
* @nbibler ensured classes begin with alpha characters. Fixes #2828 ([view](https://github.com/videojs/video.js/pull/2829))
+1 -1
Ver Arquivo
@@ -1,7 +1,7 @@
{
"name": "video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"version": "5.2.4",
"version": "5.2.2",
"keywords": [
"videojs",
"html5",
+13 -14
Ver Arquivo
@@ -1,6 +1,6 @@
/**
* @license
* Video.js 5.2.4 <http://videojs.com/>
* Video.js 5.2.2 <http://videojs.com/>
* Copyright Brightcove, Inc. <https://www.brightcove.com/>
* Available under Apache License Version 2.0
* <https://github.com/videojs/video.js/blob/master/LICENSE>
@@ -11136,7 +11136,6 @@ var Player = (function (_Component) {
if (err === null) {
this.error_ = err;
this.removeClass('vjs-error');
this.errorDisplay.close();
return this;
}
@@ -11147,6 +11146,9 @@ var Player = (function (_Component) {
this.error_ = new _mediaErrorJs2['default'](err);
}
// fire an error event on the player
this.trigger('error');
// add the vjs-error classname to the player
this.addClass('vjs-error');
@@ -11154,9 +11156,6 @@ var Player = (function (_Component) {
// ie8 just logs "[object object]" if you just log the error object
_utilsLogJs2['default'].error('(CODE:' + this.error_.code + ' ' + _mediaErrorJs2['default'].errorTypes[this.error_.code] + ')', this.error_.message, this.error_);
// fire an error event on the player
this.trigger('error');
return this;
};
@@ -14835,8 +14834,6 @@ var Tech = (function (_Component) {
*/
Tech.prototype.emulateTextTracks = function emulateTextTracks() {
var _this = this;
var tracks = this.textTracks();
if (!tracks) {
return;
@@ -14849,10 +14846,13 @@ var Tech = (function (_Component) {
_globalWindow2['default']['WebVTT'] = true;
}
var updateDisplay = function updateDisplay() {
return _this.trigger('texttrackchange');
};
var textTracksChanges = function textTracksChanges() {
var textTracksChanges = Fn.bind(this, function () {
var _this = this;
var updateDisplay = function updateDisplay() {
return _this.trigger('texttrackchange');
};
updateDisplay();
for (var i = 0; i < tracks.length; i++) {
@@ -14862,9 +14862,8 @@ var Tech = (function (_Component) {
track.addEventListener('cuechange', updateDisplay);
}
}
};
});
textTracksChanges();
tracks.addEventListener('change', textTracksChanges);
this.on('dispose', function () {
@@ -18588,7 +18587,7 @@ setup.autoSetupTimeout(1, videojs);
*
* @type {String}
*/
videojs.VERSION = '5.2.4';
videojs.VERSION = '5.2.2';
/**
* The global options object. These are the settings that take effect
+4 -4
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Arquivo binário não exibido.
+2 -3
Ver Arquivo
@@ -499,7 +499,7 @@ about what's required to play video. */
/* Same as ul background */ }
/* Button Pop-up Menu */
.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
.vjs-menu-button-popup .vjs-menu ul {
background-color: #2B333F;
background-color: rgba(43, 51, 63, 0.7);
position: absolute;
@@ -911,8 +911,7 @@ width and height to zero. */
border-top-color: transparent; }
.vjs-menu-button-popup.vjs-volume-menu-button-vertical .vjs-menu {
left: 0.5em;
height: 8em; }
left: 0.5em; }
.vjs-menu-button-popup.vjs-volume-menu-button-horizontal .vjs-menu {
left: -2em; }
+1 -1
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+13 -14
Ver Arquivo
@@ -1,6 +1,6 @@
/**
* @license
* Video.js 5.2.4 <http://videojs.com/>
* Video.js 5.2.2 <http://videojs.com/>
* Copyright Brightcove, Inc. <https://www.brightcove.com/>
* Available under Apache License Version 2.0
* <https://github.com/videojs/video.js/blob/master/LICENSE>
@@ -11140,7 +11140,6 @@ var Player = (function (_Component) {
if (err === null) {
this.error_ = err;
this.removeClass('vjs-error');
this.errorDisplay.close();
return this;
}
@@ -11151,6 +11150,9 @@ var Player = (function (_Component) {
this.error_ = new _mediaErrorJs2['default'](err);
}
// fire an error event on the player
this.trigger('error');
// add the vjs-error classname to the player
this.addClass('vjs-error');
@@ -11158,9 +11160,6 @@ var Player = (function (_Component) {
// ie8 just logs "[object object]" if you just log the error object
_utilsLogJs2['default'].error('(CODE:' + this.error_.code + ' ' + _mediaErrorJs2['default'].errorTypes[this.error_.code] + ')', this.error_.message, this.error_);
// fire an error event on the player
this.trigger('error');
return this;
};
@@ -14839,8 +14838,6 @@ var Tech = (function (_Component) {
*/
Tech.prototype.emulateTextTracks = function emulateTextTracks() {
var _this = this;
var tracks = this.textTracks();
if (!tracks) {
return;
@@ -14853,10 +14850,13 @@ var Tech = (function (_Component) {
_globalWindow2['default']['WebVTT'] = true;
}
var updateDisplay = function updateDisplay() {
return _this.trigger('texttrackchange');
};
var textTracksChanges = function textTracksChanges() {
var textTracksChanges = Fn.bind(this, function () {
var _this = this;
var updateDisplay = function updateDisplay() {
return _this.trigger('texttrackchange');
};
updateDisplay();
for (var i = 0; i < tracks.length; i++) {
@@ -14866,9 +14866,8 @@ var Tech = (function (_Component) {
track.addEventListener('cuechange', updateDisplay);
}
}
};
});
textTracksChanges();
tracks.addEventListener('change', textTracksChanges);
this.on('dispose', function () {
@@ -18592,7 +18591,7 @@ setup.autoSetupTimeout(1, videojs);
*
* @type {String}
*/
videojs.VERSION = '5.2.4';
videojs.VERSION = '5.2.2';
/**
* The global options object. These are the settings that take effect
+3 -3
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+4 -4
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+1 -1
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+1 -1
Ver Arquivo
@@ -1,7 +1,7 @@
{
"name": "video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"version": "5.2.4",
"version": "5.2.2",
"copyright": "Copyright Brightcove, Inc. <https://www.brightcove.com/>",
"license": "Apache-2.0",
"keywords": [
-1
Ver Arquivo
@@ -96,7 +96,6 @@ width and height to zero. */
.vjs-menu-button-popup.vjs-volume-menu-button-vertical .vjs-menu {
left: 0.5em;
height: 8em;
}
.vjs-menu-button-popup.vjs-volume-menu-button-horizontal .vjs-menu {
left: -2em;
+1 -1
Ver Arquivo
@@ -10,7 +10,7 @@
}
/* Button Pop-up Menu */
.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
.vjs-menu-button-popup .vjs-menu ul {
@include background-color-with-alpha($primary-background-color, $primary-background-transparency);
position: absolute;
+3 -4
Ver Arquivo
@@ -2107,7 +2107,6 @@ class Player extends Component {
if (err === null) {
this.error_ = err;
this.removeClass('vjs-error');
this.errorDisplay.close();
return this;
}
@@ -2118,6 +2117,9 @@ class Player extends Component {
this.error_ = new MediaError(err);
}
// fire an error event on the player
this.trigger('error');
// add the vjs-error classname to the player
this.addClass('vjs-error');
@@ -2125,9 +2127,6 @@ class Player extends Component {
// ie8 just logs "[object object]" if you just log the error object
log.error(`(CODE:${this.error_.code} ${MediaError.errorTypes[this.error_.code]})`, this.error_.message, this.error_);
// fire an error event on the player
this.trigger('error');
return this;
}
+4 -4
Ver Arquivo
@@ -321,8 +321,9 @@ class Tech extends Component {
window['WebVTT'] = true;
}
let updateDisplay = () => this.trigger('texttrackchange');
let textTracksChanges = () => {
let textTracksChanges = Fn.bind(this, function() {
let updateDisplay = () => this.trigger('texttrackchange');
updateDisplay();
for (let i = 0; i < tracks.length; i++) {
@@ -332,9 +333,8 @@ class Tech extends Component {
track.addEventListener('cuechange', updateDisplay);
}
}
};
});
textTracksChanges();
tracks.addEventListener('change', textTracksChanges);
this.on('dispose', function() {
+70 -18
Ver Arquivo
@@ -17,6 +17,36 @@ q.module('Player', {
}
});
// Compiler doesn't like using 'this' in setup/teardown.
// module("Player", {
// /**
// * @this {*}
// */
// setup: function(){
// window.player1 = true; // using window works
// },
// /**
// * @this {*}
// */
// teardown: function(){
// // if (this.player && this.player.el() !== null) {
// // this.player.dispose();
// // this.player = null;
// // }
// }
// });
// Object.size = function(obj) {
// var size = 0, key;
// for (key in obj) {
// console.log('key', key)
// if (obj.hasOwnProperty(key)) size++;
// }
// return size;
// };
test('should create player instance that inherits from component and dispose it', function(){
var player = TestHelpers.makePlayer();
@@ -309,6 +339,24 @@ test('should set controls and trigger events', function() {
player.dispose();
});
// Can't figure out how to test fullscreen events with tests
// Browsers aren't triggering the events at least
// asyncTest('should trigger the fullscreenchange event', function() {
// expect(3);
// var player = TestHelpers.makePlayer();
// player.on('fullscreenchange', function(){
// ok(true, 'fullscreenchange event fired');
// ok(this.isFullscreen() === true, 'isFullscreen is true');
// ok(this.el().className.indexOf('vjs-fullscreen') !== -1, 'vjs-fullscreen class added');
// player.dispose();
// start();
// });
// player.requestFullscreen();
// });
test('should toggle user the user state between active and inactive', function(){
var player = TestHelpers.makePlayer({});
@@ -408,6 +456,28 @@ test('make sure that controls listeners do not get added too many times', functi
player.dispose();
});
// test('should use custom message when encountering an unsupported video type',
// function() {
// videojs.options['notSupportedMessage'] = 'Video no go <a href="">link</a>';
// var fixture = document.getElementById('qunit-fixture');
// var html =
// '<video id="example_1">' +
// '<source src="fake.foo" type="video/foo">' +
// '</video>';
// fixture.innerHTML += html;
// var tag = document.getElementById('example_1');
// var player = new Player(tag, { techOrder: ['techFaker'] });
// var incompatibilityMessage = player.el().getElementsByTagName('p')[0];
// // ie8 capitalizes tag names
// equal(incompatibilityMessage.innerHTML.toLowerCase(), 'video no go <a href="">link</a>');
// player.dispose();
// });
test('should register players with generated ids', function(){
var fixture, video, player, id;
fixture = document.getElementById('qunit-fixture');
@@ -804,21 +874,3 @@ test('createModal() options object', function() {
strictEqual(modal.options_.label, 'boo', 'modal options are set properly');
modal.close();
});
test('you can clear error in the error event', function() {
let player = TestHelpers.makePlayer();
sinon.stub(log, 'error');
player.error({code: 4});
ok(player.error(), 'we have an error');
player.error(null);
player.one('error', function() {
player.error(null);
});
player.error({code: 4});
ok(!player.error(), 'we no longer have an error');
log.error.restore();
});
-56
Ver Arquivo
@@ -2,7 +2,6 @@ import ChaptersButton from '../../../src/js/control-bar/text-track-controls/chap
import SubtitlesButton from '../../../src/js/control-bar/text-track-controls/subtitles-button.js';
import CaptionsButton from '../../../src/js/control-bar/text-track-controls/captions-button.js';
import TextTrack from '../../../src/js/tracks/text-track.js';
import TextTrackDisplay from '../../../src/js/tracks/text-track-display.js';
import Html5 from '../../../src/js/tech/html5.js';
import Flash from '../../../src/js/tech/flash.js';
@@ -343,58 +342,3 @@ if (Html5.supportsNativeTextTracks()) {
emulatedTt.on('addtrack', addtrack);
});
}
test('should check for text track changes when emulating text tracks', function() {
let tech = new Tech();
let numTextTrackChanges = 0;
tech.on('texttrackchange', function() {
numTextTrackChanges++;
});
tech.emulateTextTracks();
equal(numTextTrackChanges, 1, 'we got a texttrackchange event');
});
test('removes cuechange event when text track is hidden for emulated tracks', function() {
let player = TestHelpers.makePlayer();
let tt = new TextTrack({
tech: player.tech_,
mode: 'showing'
});
tt.addCue({
id: '1',
startTime: 2,
endTime: 5
});
player.tech_.textTracks().addTrack_(tt);
player.tech_.emulateTextTracks();
let numTextTrackChanges = 0;
player.tech_.on('texttrackchange', function() {
numTextTrackChanges++;
});
tt.mode = 'showing';
equal(numTextTrackChanges, 1,
'texttrackchange should be called once for mode change');
tt.mode = 'showing';
equal(numTextTrackChanges, 2,
'texttrackchange should be called once for mode change');
player.tech_.currentTime = function() {
return 3;
};
player.tech_.trigger('timeupdate');
equal(numTextTrackChanges, 3,
'texttrackchange should be triggered once for the cuechange');
tt.mode = 'hidden';
equal(numTextTrackChanges, 4,
'texttrackchange should be called once for the mode change');
player.tech_.currentTime = function() {
return 7;
};
player.tech_.trigger('timeupdate');
equal(numTextTrackChanges, 4,
'texttrackchange should be not be called since mode is hidden');
});