1
0
mirror of https://github.com/videojs/video.js.git synced 2024-11-24 08:42:25 +02:00

Merge branch 'stable'

Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video.dev.js
	dist/video-js/video.js
This commit is contained in:
Steve Heffernan 2014-03-06 13:18:49 -08:00
commit a64a5e27cf
12 changed files with 77 additions and 5 deletions

View File

@ -10,6 +10,10 @@ CHANGELOG
--------------------
## 4.4.3 (2014-03-06)
* Fixed bugs in IE9 Windows 7N with no Media Player ([view](https://github.com/videojs/video.js/pull/1060))
* Fixed a bug with setPoster() in the minified version ([view](https://github.com/videojs/video.js/pull/1062))
## 4.4.2 (2014-02-24)
* Fixed module.exports in minified version ([view](https://github.com/videojs/video.js/pull/1038))

View File

@ -154,7 +154,7 @@ module.exports = function(grunt) {
var path = require('path');
return path.relative('dist', filepath);
},
compression: 'DEFLATE',
// compression: 'DEFLATE',
src: ['dist/video-js/**/*'],
dest: 'dist/video-js-' + version.full + '.zip'
}

View File

@ -283,7 +283,7 @@
},
{
"desc": "Build the release",
"exec": "grunt dist"
"exec": "grunt"
},
{
"desc": "Add the (otherwise ignored) release files",

View File

@ -42,6 +42,7 @@ Flash Media Controller - Wrapper for fallback SWF API
- [removeChild](#removechild-component-) _`inherited`_
- [removeClass](#removeclass-classtoremove-) _`inherited`_
- [removeControlsListeners](#removecontrolslisteners) _`inherited`_
- [setPoster](#setposter) _`inherited`_
- [show](#show) _`inherited`_
- [trigger](#trigger-type-event-) _`inherited`_
- [triggerReady](#triggerready) _`inherited`_
@ -515,6 +516,16 @@ _inherited from_: [src/js/media/media.js#L102](https://github.com/videojs/video.
---
### setPoster()
> Provide a default setPoster method for techs
>
> Poster support for techs should be optional, so we don't want techs to
> break if they don't have a way to set a poster.
_inherited from_: [src/js/media/media.js#L148](https://github.com/videojs/video.js/blob/master/src/js/media/media.js#L148)
---
### show()
> Show the component element if hidden

View File

@ -42,6 +42,7 @@ HTML5 Media Controller - Wrapper for HTML5 Media API
- [removeChild](#removechild-component-) _`inherited`_
- [removeClass](#removeclass-classtoremove-) _`inherited`_
- [removeControlsListeners](#removecontrolslisteners) _`inherited`_
- [setPoster](#setposter) _`inherited`_
- [show](#show) _`inherited`_
- [trigger](#trigger-type-event-) _`inherited`_
- [triggerReady](#triggerready) _`inherited`_
@ -515,6 +516,16 @@ _inherited from_: [src/js/media/media.js#L102](https://github.com/videojs/video.
---
### setPoster()
> Provide a default setPoster method for techs
>
> Poster support for techs should be optional, so we don't want techs to
> break if they don't have a way to set a poster.
_inherited from_: [src/js/media/media.js#L148](https://github.com/videojs/video.js/blob/master/src/js/media/media.js#L148)
---
### show()
> Show the component element if hidden

View File

@ -17,6 +17,7 @@ Base class for media (HTML5 Video, Flash) controllers
- [onClick](#onclick-event-)
- [onTap](#ontap)
- [removeControlsListeners](#removecontrolslisteners)
- [setPoster](#setposter)
- [addChild](#addchild-child-options-) _`inherited`_
- [addClass](#addclass-classtoadd-) _`inherited`_
- [buildCSSClass](#buildcssclass) _`inherited`_
@ -515,6 +516,16 @@ _defined in_: [src/js/media/media.js#L102](https://github.com/videojs/video.js/b
---
### setPoster()
> Provide a default setPoster method for techs
>
> Poster support for techs should be optional, so we don't want techs to
> break if they don't have a way to set a poster.
_defined in_: [src/js/media/media.js#L148](https://github.com/videojs/video.js/blob/master/src/js/media/media.js#L148)
---
### show()
> Show the component element if hidden

View File

@ -17,7 +17,7 @@
### ApiMethods
> List of default API methods for any MediaTechController
_defined in_: [src/js/media/media.js#L160](https://github.com/videojs/video.js/blob/master/src/js/media/media.js#L160)
_defined in_: [src/js/media/media.js#L168](https://github.com/videojs/video.js/blob/master/src/js/media/media.js#L168)
---

View File

@ -1,7 +1,7 @@
{
"name": "video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"version": "4.4.2",
"version": "4.4.3",
"copyright": "Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE",
"keywords": [
"videojs",

View File

@ -114,6 +114,8 @@ goog.exportProperty(vjs.MediaTechController.prototype.features, 'volumeControl',
goog.exportProperty(vjs.MediaTechController.prototype.features, 'fullscreenResize', vjs.MediaTechController.prototype.features.fullscreenResize);
goog.exportProperty(vjs.MediaTechController.prototype.features, 'progressEvents', vjs.MediaTechController.prototype.features.progressEvents);
goog.exportProperty(vjs.MediaTechController.prototype.features, 'timeupdateEvents', vjs.MediaTechController.prototype.features.timeupdateEvents);
goog.exportProperty(vjs.MediaTechController.prototype, 'setPoster', vjs.MediaTechController.prototype.setPoster);
goog.exportSymbol('videojs.Html5', vjs.Html5);
goog.exportProperty(vjs.Html5, 'Events', vjs.Html5.Events);

View File

@ -237,6 +237,13 @@ vjs.Html5.prototype.defaultMuted = function(){ return this.el_.defaultMuted; };
/* HTML5 Support Testing ---------------------------------------------------- */
vjs.Html5.isSupported = function(){
// ie9 with no Media Player is a LIAR! (#984)
try {
vjs.TEST_VID['volume'] = 0.5;
} catch (e) {
return false;
}
return !!vjs.TEST_VID.canPlayType;
};
@ -281,8 +288,16 @@ vjs.Html5.disposeMediaElement = function(el){
el.removeAttribute('src');
// force the media element to update its loading state by calling load()
// however IE on Windows 7N has a bug that throws an error so need a try/catch (#793)
if (typeof el.load === 'function') {
el.load();
// wrapping in an iife so it's not deoptimized (#1060#discussion_r10324473)
(function() {
try {
el.load();
} catch (e) {
// not supported
}
})();
}
};

View File

@ -139,6 +139,14 @@ vjs.MediaTechController.prototype.onTap = function(){
this.player().userActive(!this.player().userActive());
};
/**
* Provide a default setPoster method for techs
*
* Poster support for techs should be optional, so we don't want techs to
* break if they don't have a way to set a poster.
*/
vjs.MediaTechController.prototype.setPoster = function(){};
vjs.MediaTechController.prototype.features = {
'volumeControl': true,

View File

@ -83,6 +83,16 @@ test('should be able to access expected component API methods', function() {
ok(comp.buildCSSClass, 'buildCSSClass exists');
});
test('should be able to access expected MediaTech API methods', function() {
var techProto = videojs.MediaTechController.prototype;
var html5Proto = videojs.Html5.prototype;
var flashProto = videojs.Flash.prototype;
ok(techProto.setPoster, 'setPoster should exist on the Media tech');
ok(html5Proto.setPoster, 'setPoster should exist on the HTML5 tech');
ok(flashProto.setPoster, 'setPoster should exist on the Flash tech');
});
test('should export ready api call to public', function() {
var videoTag = PlayerTest.makeTag();