Comparar commits

...

1630 Commits

Autor SHA1 Mensagem Data
Gary 4b19b1e73c v5.11.9 2016-10-25 18:14:29 +00:00
Gary Katsevman 9f809cfc59 fix: remove sourcemaps from the output (#3710)
Source Maps, while nice, aren't perfect and the ones we were outputting
weren't right.

Fixes #3701, #3106.
2016-10-24 21:08:41 -04:00
Gary Katsevman 969561328b fix: remove unnecessary comments from video.min.js (#3709)
This involves updating to latest version of uglify and setting
"screwIE8" to false since that is a default in 2.7. However, this makes
"preserveComments" "some" work as it is supposed to work.

Fixes #3707
2016-10-24 18:25:46 -04:00
Pat b8ba89c91d v5.11.8 2016-10-17 18:35:59 +00:00
Pat O'Neill be5979aaf9 Restore timeupdate/loadedmetadata listeners for duration display (#3682)
There was a potential breakage that was caused by #3349. This restores the timeupdate and loadedmetadata listeners in the duration display that were removed. As part of 6.0, they could be removed as durationchange should be the correct and only listener we need.
2016-10-17 14:13:38 -04:00
Gary d520d29fd6 v5.11.7 2016-09-28 18:40:33 +00:00
Gary Katsevman 3a927523c3 @gkatsev set playerId on new el created for movingMediaElementInDOM. Fixes #3283. closes #3648 2016-09-28 13:59:21 -04:00
Pat O'Neill ecc95331a7 @misteroneill pinned grunt-contrib-uglify to ~0.11 to pin uglify to ~2.6. closes #3634 2016-09-28 13:54:41 -04:00
Gary Katsevman 282bda7e34 @gkatsev checked throwIfWhitespace first in hasElClass. closes #3640 2016-09-28 13:18:02 -04:00
Jon-Carlos a17de688f3 v5.11.6 2016-08-25 23:17:28 +00:00
Jon-Carlos Rivera fdd8550307 @imbcmdth Added exception handling to event dispatcher. closes #3580
* Guard against exceptions in an event handler to stop them from breaking further processing of event handlers

* Added a test for try/catch behavior for exceptions originating in event handlers
2016-08-25 19:08:56 -04:00
Justin eff1cf34db v5.11.5 2016-08-25 15:49:03 +00:00
Justin Barabander a2167a6b95 @jbarabander updated Audio to Audio Track and added to en.json. closes #3574 2016-08-25 11:01:13 -04:00
Pat O'Neill 1d2d08584e @misteroneill fixed IE8 media error test failure. closes #3568 2016-08-24 13:48:39 -04:00
Justin Barabander 46d713589b @jbarabander added title attribute to audio button. Fixes #3528. closes #3565 2016-08-24 11:30:37 -04:00
David Snyder 23d1fcd882 @snyderizer fixed switching between audio tracks. Fixes #3510. closes #3538 2016-08-24 11:24:55 -04:00
Pat O'Neill b56ed61523 @misteroneill fixed wrapping native and emulated MediaErrors. closes #3562 2016-08-24 11:00:21 -04:00
Gary Katsevman 13d16c1d76 v5.11.4 2016-08-16 14:27:22 -04:00
Gary Katsevman 5178c122a5 v5.11.3 2016-08-15 18:11:54 -04:00
Gary Katsevman db0e821f38 Add DOMException to jshint to appease it 2016-08-15 18:02:41 -04:00
mister-ben fa1c6430f4 @mister-ben silenced chrome's play() request was interrupted by pause() error. closes #3518 2016-08-15 17:49:52 -04:00
Matthew Boles bf2eabf82d @mboles updated duration() method documentation. closes #3515 2016-08-15 17:46:59 -04:00
mister-ben 2f5a0ca48b @mister-ben fixed android treating swipe as a tap. closes #3514 2016-08-15 17:45:38 -04:00
Vineet 2c84f45ff3 @vdeshpande fixed control text for fullscreen button. closes #3485 2016-08-15 17:44:01 -04:00
Gary Katsevman b9d811c2e2 v5.11.2 2016-08-09 11:23:30 -04:00
Gary Katsevman 876d1128a6 v5.11.1 2016-08-08 18:21:15 -04:00
Vadim Sikora 14d36a47ee @vxsx fixed legend selector to be more specific. Fixes #3492. Closes #3494 2016-08-08 18:18:50 -04:00
Gary Katsevman ae788be15f Merge commit 'fc72fb9' into stable 2016-08-08 17:54:06 -04:00
Gary Katsevman 1e1636e1f0 Merge commit '2e46c51' into stable 2016-08-08 15:28:17 -04:00
Gary Katsevman 2e46c516f6 v5.10.8 2016-08-08 15:24:12 -04:00
Gary Katsevman c306e4f7f3 update CHANGELOG for new patch release 2016-08-08 15:22:20 -04:00
Gary Katsevman f3f979ae49 remove dist 2016-08-08 15:20:43 -04:00
Gary Katsevman fc72fb90e7 v5.11.0 2016-07-22 15:36:56 -04:00
Gary Katsevman 34a78b8989 @gkatsev fixed setting lang by looping through loop element variable and not constant tag. closes #3455 2016-07-22 14:37:26 -04:00
Pat O'Neill 8dd01467f3 @misteroneill corrects test assertions for older IEs in the log module. closes #3454 2016-07-22 13:50:29 -04:00
Gary Katsevman 3e9c53f84f @gkatsev added es6-shim to tests. Fixes Flash duration test. closes #3453 2016-07-22 12:07:37 -04:00
Pat O'Neill b270f58bc8 @misteroneill fixed npm test from running coveralls locally. closes #3449 2016-07-21 13:26:46 -04:00
Pat O'Neill 5b15feb5af @misteroneill fixed logging issues on IE by separating fn.apply and stringify checks. closes #3444 2016-07-20 16:47:54 -04:00
Tadej Novak 4b4954ef4d @ntadej added a null check to errorDisplay usage. closes #3440 2016-07-19 11:27:12 -04:00
Owen Edwards b557695e5a @OwenEdwards removed spurious head tags in the simple-embed example. closes #3438 2016-07-19 00:21:32 -04:00
Owen Edwards 238c752aee @OwenEdwards fixed caption settings dialog labels for accessibility. closes #3281 2016-07-19 00:19:36 -04:00
Richard Brandon 58604795f8 @rbran100 checked src and currentSrc in handleTechReady to work around mixed content issues in chrome. closes #3287 2016-07-18 15:35:51 -04:00
Thorsten Basse 20b53206a5 @tbasse fixed techCall null check against tech. closes #2676 2016-07-18 15:26:17 -04:00
Csaba Balint ec42a1cfd7 @sashyro fixed nativeControlsForTouch option. closes #3410 2016-07-18 15:17:30 -04:00
mister-ben 5883c9236e @mister-ben updated language to inherit correctly and respect the attribute on the player. closes #3426 2016-07-18 14:53:31 -04:00
ldayananda 7ae2c885a7 @ldayananda fixed mouse handling on menus by using mouseleave over mouseout. closes #3404 2016-07-18 14:44:08 -04:00
Vineet c51c19ae88 @vdeshpande updated control text of modal dialog. closes #3400 2016-07-18 14:41:33 -04:00
Pat O'Neill 13d349b0da @misteroneill improved Logging for IE < 11. closes #3356 2016-07-18 14:32:31 -04:00
Mattias Buelens e2bfe09c7b @MattiasBuelens updated components to use durationchange only. closes #3349 2016-07-18 14:29:26 -04:00
alex-phillips e7ca49e668 @alex-phillips added ontextdata to Flash tech. closes #2748 2016-07-18 14:16:58 -04:00
Vít Koumar f36da276e3 @vit-koumar updated Flash tech to return Infinity from duration instead of -1. closes #3128 2016-07-18 14:10:57 -04:00
Nicky Gerritsen 9f37a64146 @nickygerritsen removed unused tracks when changing sources. Fixes #3000. closes #3002 2016-06-27 23:10:21 -04:00
ldayananda c51c180b3c @ldayananda updated videojs to not do anything if no src is set. closes #3378 2016-06-27 23:07:00 -04:00
Derk-Jan Hartman 68c7ab4748 @hartman added default print styling. closes #3304 2016-06-27 23:02:50 -04:00
rcrooks a84623dc9c @mboles added loadstart event to jsdoc. closes #3370 2016-06-27 22:57:15 -04:00
Gary Katsevman e541af30dc Revert "v5.10.7 dist"
This reverts commit 382d5aadbe.
2016-06-27 22:46:01 -04:00
Gary Katsevman a63eb1241d Merge branch 'stable' 2016-06-27 22:39:34 -04:00
Gary Katsevman 382d5aadbe v5.10.7 dist 2016-06-27 22:39:07 -04:00
Gary Katsevman 6620f2d7be v5.10.7 2016-06-27 22:38:38 -04:00
Vineet 2a76453cdd @vdeshpande fixed chapters getting duplicated each time a track is loaded. closes #3354 2016-06-27 22:32:57 -04:00
mister-ben 43551797c3 @mister-ben updated menus to use default videojs font-family. closes #3384 2016-06-27 22:24:13 -04:00
Bruno Klava b6da0a7f70 @bklava updated pt-BR language file. closes #3373 2016-06-27 22:21:53 -04:00
Matt Farmer 7f6ce63ad9 @m14t removed unused loadEvent property in ControlBar options. closes #3363 2016-06-27 22:19:26 -04:00
mister-ben 9de215fa4c @mister-ben added try catch to volume and playbackrate checks. Fixes #3315. closes #3320 2016-06-27 22:15:17 -04:00
Gary Katsevman 0808f843eb @gkatsev pinned node-sass to 3.4. closes #3401 2016-06-27 18:26:37 -04:00
Gary Katsevman 819b787f5f Merge branch 'stable' 2016-06-20 15:30:27 -04:00
Gary Katsevman 165a499271 v5.10.6 dist 2016-06-20 15:29:23 -04:00
Gary Katsevman 7da89f51a6 v5.10.6 2016-06-20 15:28:41 -04:00
Gary Katsevman b7fdf21a05 Merge branch 'stable' 2016-06-07 12:40:50 -04:00
Gary Katsevman 546138e433 v5.10.5 2016-06-07 12:34:07 -04:00
Laurent de Goede 4e0325013e @IJsLauw fixed unhandled exception in deleting poster on ios7. closes #3337 2016-06-07 11:53:50 -04:00
Gary Katsevman 8d5a1b1193 @gkatsev fixed minified vjs in ie8 when initialized with id string. closes #3357 2016-06-07 11:39:22 -04:00
Gary Katsevman 40cf2730b9 @gkatsev pinned dependencies to direct versions. closes #3338 2016-06-01 14:30:44 -04:00
Gary Katsevman 11d379cbce Merge branch 'stable' 2016-05-31 15:39:19 -04:00
Gary Katsevman 101f471829 v5.10.4 2016-05-31 15:35:05 -04:00
Gary Katsevman b9e3e55384 Merge branch 'stable' 2016-05-27 18:28:40 -04:00
Gary Katsevman b981f254de v5.10.3 2016-05-27 18:24:33 -04:00
brandonocasey fa8fc80b83 @BrandonOCasey fixed source handlers being disposed multiple times when a video is put into the video element directly. closes #3343 2016-05-27 18:12:47 -04:00
Nicky Gerritsen 17f856849d @nickygerritsen Fix test for tooltips in IE8. closes #3327 2016-05-19 09:47:27 +02:00
Mattias Buelens 06fdbaf73d @MattiasBuelens Retain details from tech error. closes #3313 2016-05-17 12:18:14 +02:00
Derk-Jan Hartman aa2b8e82ff @hartman Add descriptions and audio button to adaptive classes. closes #3312 2016-05-17 12:15:52 +02:00
Nicky Gerritsen cf5d64dd49 @nickygerritsen Update Dutch language file. closes #3297 2016-05-17 12:14:07 +02:00
Nicky Gerritsen ed39b68f13 @nickygerritsen Add title to all clickable components. closes #3296 2016-05-17 10:17:12 +02:00
Gary Katsevman b1e7bfd8f8 Merge branch 'stable' 2016-05-12 14:49:47 -04:00
Gary Katsevman a11f66ff4f v5.10.2 2016-05-12 14:44:36 -04:00
Gary Katsevman 82d396a1fb @gkatsev nulled out currentSource_ in setSource. closes #3314 2016-05-12 14:43:10 -04:00
Pat O'Neill ed3249818e @misteroneill Un-deprecate the videojs.players property. closes #3299 2016-05-11 09:10:15 +02:00
Nicky Gerritsen 68c4d248d9 @nickygerritsen Also pass tech options to canHandleSource. closes #3303 2016-05-11 09:08:17 +02:00
Derk-Jan Hartman 6e8ab67a48 @hartman Correct documentation to refer to nativeTextTracks option. closes #3309 2016-05-11 09:05:41 +02:00
brandonocasey 7c94ac42cc @BrandonOCasey Document audio/video track usage. closes #3295 2016-05-04 09:15:21 +02:00
Gary Katsevman 971dbaecc4 v5.10.1 2016-05-03 15:42:43 -04:00
Gary Katsevman 3aff03be84 5.10 is a broken release, update changelog 2016-05-03 15:42:11 -04:00
Gary Katsevman 9a59aee304 v5.10.0 2016-05-03 15:39:05 -04:00
jforbes 4156307792 @forbesjo add an audio track selector menu button. closes #3223 2016-05-02 18:56:44 -04:00
Greg Smith 249532ad45 @incompl clear currentSource_ after subsequent loadstarts. closes #3285 2016-05-02 18:54:34 -04:00
Owen Edwards 6296ca8538 @OwenEdwards added language attribute in HTML files for accessibility. closes #3257 2016-04-28 15:29:40 -07:00
brandonocasey 2e2dbde4b4 @BrandonOCasey added audio and video track support. closes #3173 2016-04-22 14:31:12 -04:00
Gary Katsevman 18cdf08c0e @gkatsev updated text track documentation and crossorigin warning. Fixes #1888, #1958, #2628, #3202. closes #3256 2016-04-20 15:46:49 -04:00
Gary Katsevman b931b6bde9 Merge branch 'stable' 2016-04-19 17:37:16 -04:00
Gary Katsevman aa94e0be07 v5.9.2 2016-04-19 17:35:43 -04:00
Gary Katsevman ae4617d74c @gkatsev grouped text track errors in the console, if we can. closes #3259 2016-04-19 17:26:26 -04:00
Gary Katsevman cfb9621884 Merge branch 'stable' 2016-04-19 17:20:24 -04:00
Gary Katsevman e7d31d3f9e v5.9.1 2016-04-19 17:18:51 -04:00
Gary Katsevman 264e53fb5b @gkatsev fixed text track tests for older IEs. closes #3269 2016-04-19 17:09:53 -04:00
Gary Katsevman 048dad4cf3 revert 75116d4 adding chrome to travis (#3254) 2016-04-19 15:52:36 -04:00
jforbes a347c1d0fa @forbesjo added back the background color to the poster. closes #3267 2016-04-19 15:49:41 -04:00
Gary Katsevman d3b368ccce @gkatsev fixed removeRemoteTextTracks not working with return value from addRemoteTextTracks. closes #3253 2016-04-19 15:46:33 -04:00
Gary Katsevman ff83aa6573 @gkatsev made the first emulated text track enabled by default. closes #3248 2016-04-19 15:18:21 -04:00
mister-ben 6b5040c04c @mister-ben blacklisted Chrome for Android for playback rate support. closes #3246 2016-04-19 15:13:50 -04:00
benjipott fdd4d25bad @benjipott updated IS_CHROME to not be true on MS Edge. closes #3232 2016-04-19 15:08:13 -04:00
Gary Katsevman 5cafd387ea revert 75116d4 adding chrome to travis (#3254) 2016-04-13 15:08:35 -04:00
Chris Auclair 55c101de0c @chrisauclair Make controls visible for accessibility reasons. closes #3237 2016-04-13 20:47:02 +02:00
Gary Katsevman f4ee2767eb @gkatsev Use fonts 2.0 that do not require wrapping codepoints. closes #3252 2016-04-13 20:43:51 +02:00
Nicky Gerritsen a53ef7d1b8 Get rid of double changelog line 2016-04-13 20:36:00 +02:00
Nicky Gerritsen 834b94385c @nickygerritsen Pass tech options to source handlers. closes #3245 2016-04-13 20:32:11 +02:00
Nicky Gerritsen f606f9df50 @nickygerritsen Pass tech options to source handlers. closes #3245 2016-04-13 20:28:09 +02:00
Gary Katsevman 48ec1fb3ee v5.9.0 2016-04-05 14:24:44 -04:00
Andy Earnshaw b254fb71be @andyearnshaw updated document event handlers to use el.ownerDocument. closes #3230 2016-04-05 14:04:47 -04:00
Chris Auclair fa27cc7dbf @chrisauclair added ARIA region and label to player element. closes #3227 2016-04-05 13:47:58 -04:00
Michael Gallaspy e183194224 @MCGallaspy added vttjs to the self-hosting guide. closes #3229 2016-04-05 13:42:18 -04:00
jforbes 75116d4249 @forbesjo added chrome for PR tests. closes #3235 2016-04-05 13:36:33 -04:00
Gary Katsevman 002b739930 Merge branch 'stable' 2016-04-05 13:29:33 -04:00
Owen Edwards 0f40f3f155 @OwenEdwards improved handling of deprecated use of Button component. closes #3236 2016-04-05 13:26:49 -04:00
Gary Katsevman 41f8e7b855 Merge branch 'stable' 2016-04-04 13:31:08 -04:00
Gary Katsevman 4849374f23 v5.8.8 2016-04-04 13:27:37 -04:00
seescode 4e45d21836 @seescode fixed dragging on mute toggle changing the volume. Fixes #3036. Closes #3228 2016-04-04 13:19:18 -04:00
seescode 471529b805 @seescode fixed css failing on IE8 due to incorrect ie8 hack. Fixes #3140. Closes #3226. 2016-04-04 13:09:19 -04:00
Volodymyr Tytar 68bb36e3eb @vtytar fixed auto-setup failing if taking too long to load. Fixes #2386. Closes #3233. 2016-04-04 13:05:26 -04:00
mister-ben 6e579ba4da @mister-ben updated the time tooltips to use the chosen font family. closes #3213 2016-03-29 17:53:09 -04:00
scaryguy 46374f5b57 @scaryguy updated videojs cdn urls in the README. closes #3195 2016-03-29 17:50:51 -04:00
Owen Edwards 0d2d8f58dd @OwenEdwards fixed links adding extra tab stop with IE by removing anchor tags on videojs init. closes #3194 2016-03-29 17:47:08 -04:00
Gary Katsevman ba7ec0bf57 Merge branch 'stable' 2016-03-29 17:34:32 -04:00
Gary Katsevman dc3fc686e7 v5.8.7 2016-03-29 17:30:58 -04:00
Gary Katsevman 5261f8204f Merge branch 'stable' 2016-03-29 17:28:11 -04:00
mister-ben f8a5cdc319 @mister-ben updated Arabic language files. closes #3225 2016-03-29 17:28:04 -04:00
Gary Katsevman 3a800186b3 Merge branch 'stable' 2016-03-29 17:20:33 -04:00
mister-ben a22c7f2a4d @mister-ben fixed missing native HTML5 tracks. Fixes #2689. Closes #3212 2016-03-29 17:19:59 -04:00
Gary Katsevman a74b92643d Merge branch 'stable' 2016-03-29 16:29:10 -04:00
Andrey Nikitin b2d0e10dbd @avreg fixed notSupportedMessage saying video when meaning media 2016-03-29 16:28:47 -04:00
Gary Katsevman 096c36f8ed Merge branch 'stable' 2016-03-29 16:20:47 -04:00
mister-ben 4cf2cc72b5 @mister-ben added dir=ltr to control bar and loading spinner. closes #3221 2016-03-29 16:20:13 -04:00
Gary Katsevman b91018952e Merge branch 'stable' 2016-03-29 16:15:07 -04:00
Maythee Anegboonlap 31b2f9d489 @llun fixed menus from throwing when focused when empty. closes #3218 2016-03-29 16:09:10 -04:00
Gary Katsevman 3070e738f1 fix IE8 tests for VIDEOJS_NO_DYNAMIC_STYLE. closes #3215 2016-03-28 12:20:58 -04:00
Gary Katsevman 4663d0ed01 use a brand new tag el for ie8 2016-03-28 12:08:00 -04:00
Can Küçükyılmaz ac3771a329 @defli added currentWidth and currentHeight methods to the player. closes #3144. 2016-03-25 15:12:53 -04:00
Gary Katsevman 1c730cb21f Merge branch 'stable' 2016-03-25 15:04:25 -04:00
Gary Katsevman 6845cbedc3 v5.8.6 2016-03-25 14:57:13 -04:00
Pat O'Neill 6eba133963 @misteroneill fixed type and indenting in language files. closes #3207. 2016-03-25 14:47:52 -04:00
Gary Katsevman d4c1af60ac @gkatsev added an option to keep the tooltips inside the player bounds. closes #3149 2016-03-25 14:34:06 -04:00
ricardo siri bf95bb21cc @ricardosiri68 changed the relative sass paths. closes #3147 2016-03-25 14:29:47 -04:00
Aris 4e75ce1e9e @arius28 added greek translation file (el.json). closes #3185 2016-03-25 14:25:49 -04:00
Kamil Brenk 9f38a08399 @kamilbrenk Added lang: pl.json. closes #3127 2016-03-25 14:20:06 -04:00
Owen Edwards 41bc481597 @OwenEdwards added basic descriptions track support. closes #3098 2016-03-25 14:16:56 -04:00
Gary Katsevman 66a2c05510 @gkatsev updated vjs to not add dynamic styles when VIDEOJS_NO_DYNAMIC_STYLE is set. closes #3093 2016-03-25 14:06:39 -04:00
Gary Katsevman db189b73d7 v5.8.5 2016-03-17 19:01:44 -04:00
Gary Katsevman dbdc411dc2 @gkatsev cleared vttjs script handlers on dispose. Fixed tests. closes #3189 2016-03-17 18:56:25 -04:00
Gary Katsevman 94e899f810 v5.8.4 2016-03-17 14:54:29 -04:00
Gary Katsevman e2c8c125a2 @gkatsev changed emulated tracks to in novtt to wait for vttjs to load or error before parsing. closes #3181 2016-03-17 14:53:00 -04:00
Gary Katsevman 0b26d83e99 v5.8.3 2016-03-10 14:05:56 -05:00
Gary Katsevman 8cc633edc4 @gkatsev fixed keyboard control of menus with titles. Fixes #3164. closes #3165 2016-03-10 13:59:31 -05:00
Gary Katsevman 3367b007a2 v5.8.2 2016-03-09 14:27:53 -05:00
Gary Katsevman feb7e26211 @gkatsev fixed chapters menu. Fixes #3062. closes #3163 2016-03-09 14:26:07 -05:00
Gary Katsevman 5a5b42f2a7 v5.8.1 2016-03-07 15:26:26 -05:00
Owen Edwards f82a3d148f @OwenEdwards fixed menu closing on ios, specifically ipad. closes #3158 2016-03-07 15:25:12 -05:00
Can Küçükyılmaz 21051534f3 @defli fixed typo and updated Turkish translations. closes #3156 2016-03-07 15:14:58 -05:00
Can Küçükyılmaz f4bc3c12b5 @defli added missing var to sandbox index.html example. closes #3155 2016-03-07 14:58:02 -05:00
brandonocasey c1112b74fe @BrandonOCasey updated text track unit tests to use full es6 syntax. closes #3148 2016-03-07 14:54:32 -05:00
Gary Katsevman f77bcc95d0 @gkatsev cleared waiting/spinner on timeupdate. Fixes #3124. closes #3138 2016-03-07 14:48:15 -05:00
brandonocasey cb3d709237 @BrandonOCasey converted remaining text-track modules to ES6. closes #3130 2016-02-29 11:08:38 -05:00
Gary Katsevman d9a0a4503c @gkatsev updated videojs badges in the README. closes #3134 2016-02-24 01:25:04 -05:00
Gary Katsevman 3ef88f8b80 v5.8.0 2016-02-19 14:18:37 -05:00
Pat O'Neill 80c6c16a2f @misteroneill added alt css as video-js-cdn.css. closes #3118 2016-02-19 14:17:47 -05:00
mister-ben e12ca69306 @mister-ben Added en.json as localization template. closes #3096 2016-02-19 12:18:27 -05:00
jforbes d8ba649549 @forbesjo updated track settings to not fail restoring settings when localStorage is not available. closes #3120 2016-02-19 12:15:41 -05:00
Quentin Burny 0490728321 @Naouak updated time display to not change if values do not change. closes #3101 2016-02-19 12:04:06 -05:00
jforbes dd1f2b5c25 @forbesjo updated travis to use latest firefox. closes #3112 2016-02-19 11:51:42 -05:00
Nima Saberi 47a307b773 @Nipoto added fa.json (farsi/persian lang file). closes #3116 2016-02-19 11:48:54 -05:00
Gary Katsevman 050f23d913 @gkatsev added issue and PR templates for github. closes #3117 2016-02-18 17:19:55 -05:00
Gary Katsevman b027603a6a v5.7.1 2016-02-11 17:13:33 -05:00
Gary Katsevman a2f5430a5d @gkatsev fixed minified videojs in IE8. Fixes #3064 and #3070. closes #3104 2016-02-11 17:04:30 -05:00
alex-phillips acd775f551 @alex-phillips fixed reference to videojs-vtt.js dependency. closes #3080 2016-02-11 16:59:38 -05:00
Gary Katsevman 084bcf692c v5.7.0 2016-02-04 13:44:19 -05:00
Erik Yuzwa fc7a166705 @erikyuzwa added ability to add child component at specific index. closes #2540 2016-02-04 13:42:49 -05:00
Pat O'Neill 341c9c7700 @misteroneill fixed iphone useragent detection. closes #3077 2016-02-04 12:32:33 -05:00
Derk-Jan Hartman 5245335147 @hartman Set a min-width for the progress slider of 4em. closes #2902 2016-02-04 11:52:39 -05:00
Derk-Jan Hartman 171ec1a274 @hartman updated fullscreen and time controls for more consistent widths. closes #2893 2016-02-04 11:49:59 -05:00
mister-ben 29f66acb98 @mister-ben updated Umuted to Unmute in lang files. closes #3053 2016-02-03 16:15:16 -05:00
Derk-Jan Hartman d9cad36ade @hartman Corrected adaptive layout selectors to match their intent. closes #2923 2016-02-02 15:30:04 -05:00
Gary Katsevman 99b34e9691 @gkatsev updated README to include links to plugins page and getting started and cleaner link to LICENSE. closes #3066 2016-02-02 14:40:43 -05:00
Greg Smith 2f0b9ee8ca @incompl improved the UX of time tooltips. closes #3060 2016-02-02 14:32:19 -05:00
jforbes c8646aa02b @forbesjo updated emulated tracks to have listeners removed when they are removed. closes #3046 2016-02-02 14:29:31 -05:00
Gary Katsevman 58f76136e5 v5.6.0 2016-01-26 12:09:40 -05:00
Gary Katsevman 47f639fb41 @gkatsev updated to latest videojs-ie8 shim. closes #3042 2016-01-26 12:08:46 -05:00
Jamie bb606cdcbd @hubdotcom changed URLs in README to be protocol-relative. closes #3040 2016-01-26 11:34:36 -05:00
Patrick 876e48547c @CoWinkKeyDinkInc fixed table in Tracks guide. Replaced some single quotes with double quotes. closes #2946 2016-01-25 20:11:26 -05:00
n23430 df02e7a709 @aril-spetalen added language support for Norwegian (nb and nn). closes #3021 2016-01-25 20:01:15 -05:00
Vitor Faiante 9cdfb75187 @vitor-faiante updated the guides. closes #2781 2016-01-25 19:50:02 -05:00
Gary Katsevman 8a17313a3b @gkatsev checked muted status when updating volume bar level. closes #3037 2016-01-25 19:41:58 -05:00
Owen Edwards 6317395e0c @OwenEdwards fixed double-localization of mute toggle control text. closes #3017 2016-01-25 19:38:28 -05:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 b9f251650b @mister-ben made $primary-foreground-color a !default sass var. closes #3003 2016-01-25 19:34:53 -05:00
Owen Edwards 0ffb27abb0 @OwenEdwards Fixed volume menu keyboard access. closes #3034 2016-01-25 19:18:12 -05:00
Owen Edwards e05931dd19 @OwenEdwards Fixed menu keyboard access and ARIA labeling for screen readers. closes #3033 2016-01-25 19:05:10 -05:00
Owen Edwards 16f0179c07 @OwenEdwards added ClickableComponent. Fixed keyboard operation of buttons. closes #3032 2016-01-25 18:30:12 -05:00
Gary Katsevman 81caccd154 v5.5.3 2016-01-15 15:33:46 -05:00
rcrooks d448acd224 @rcrooks fixed a couple of docs link and a jsdoc comment. closes #2987 2016-01-15 15:33:15 -05:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 c901fcee6b @mister-ben updated CDN urls in setup guide. closes #2984 2016-01-15 15:31:08 -05:00
Gary Katsevman 6977b0e3fe @gkasev updated vjs to correctly return already created player when given an element. closes #3006 2016-01-15 15:27:35 -05:00
Gary Katsevman b48797bf17 v5.5.2 2016-01-14 14:03:00 -05:00
Gary Katsevman dcf2a300ef make sure that styleEl_ is in DOM before removing on dispose. closes #3004 2016-01-14 14:01:30 -05:00
Gary Katsevman 088f47af2e v5.5.1 2016-01-08 18:59:50 -05:00
Gary Katsevman 984085a048 @gkatsev fixed sass if else for icons. closes #2988 2016-01-08 18:58:56 -05:00
Gary Katsevman 67840aabbe v5.5.0 2016-01-07 23:39:07 -05:00
Gary Katsevman 93f2f83723 @gkatsev updated css to have ascii codepoints for fonticons. Expose new scss file. closes #2973 2016-01-07 23:36:09 -05:00
jforbes 867fec910f @forbesjo updated player to not autoplay if there is no source. closes #2971 2016-01-07 23:23:38 -05:00
Greg Smith aa4700b098 @incompl updated build command in CONTRIBUTING.md. closes #2967 2016-01-07 23:13:15 -05:00
jforbes b84be556a6 @forbesjo fixed errorDisplay erroring on subsequent openings. closes #2966 2016-01-07 23:10:43 -05:00
rcrooks 0f219b1f1d @rcrooks fixed some broken links in guides. closes #2965 2016-01-07 23:08:12 -05:00
Pete Huitsing 49cc73f980 @huitsing updated docstrings for autoplay and loop methods. closes #2960 2016-01-07 23:05:48 -05:00
Pat O'Neill 8ad286a768 @misteroneill exposed createEl on videojs. closes #2926 2016-01-07 23:03:23 -05:00
Derk-Jan Hartman 5f239d7cf1 @hartman fixed usage of lighten in progress component. Fixes #2793. closes #2875 2016-01-07 23:00:09 -05:00
Gary Katsevman 35203f613f v5.4.6 2015-12-22 17:00:46 -05:00
Gary Katsevman 692608270e @gkatsev fixed vertical slider alignment in volume menu button. closes #2943 2015-12-22 16:58:58 -05:00
Gary Katsevman d99ce79954 v5.4.5 2015-12-15 14:47:29 -05:00
rcrooks 01a7e7509e @rcrooks fixed simple embed example. closes #2915 2015-12-15 14:46:16 -05:00
Derk-Jan Hartman 09f182db60 @hartman updated options guide doc. closes #2908 2015-12-15 14:43:30 -05:00
brandonocasey 7838fe2ec3 @BrandonOCasey updated sandbox to to use newer CDN urls. closes #2917 2015-12-15 14:38:09 -05:00
Gary Katsevman 45d43ec904 @gkatsev updated styles for inline menu and volume bar. closes #2913 2015-12-15 14:26:18 -05:00
Gary Katsevman c61e9e49ab @gkatsev added mouse/touch listeners to volume menu button. closes #2638 2015-12-15 14:17:43 -05:00
Matthew McClure 4cb14eb420 Update plugin documentation to reflect icon usage 2015-12-10 10:38:49 -08:00
Gary Katsevman 1d88ef066d v5.4.4 2015-12-09 18:14:48 -05:00
Gary Katsevman 16f2e4113a @gkatsev switched to use custom vtt.js from npm. closes #2905 2015-12-09 18:12:46 -05:00
Gary Katsevman 4424a06a3d v5.4.3 2015-12-08 20:32:12 -05:00
Gary Katsevman 08f03c160c @gkatsev updated options customizer and github-release options. closes #2903 2015-12-08 20:30:48 -05:00
Gary Katsevman 565dba8671 v5.4.2 2015-12-08 18:59:59 -05:00
Gary Katsevman a528e44d9b @gkatsev updated grunt-release config. closes #2900 2015-12-08 18:59:02 -05:00
Gary Katsevman 996822ba68 v5.4.1 2015-12-08 15:53:02 -05:00
Gary Katsevman 359df7148b @gkatsev added chg- and github- release for next releases. closes #2899 2015-12-08 15:52:17 -05:00
Gary Katsevman c6bf2b847a v5.4.0 2015-12-08 13:56:28 -05:00
Gary Katsevman 44edb12700 @gkatsev added ability to release next tag from master. closes #2894 2015-12-08 13:03:14 -05:00
Gary Katsevman 5bb1a76c4e @gkatsev added nullcheck for cues in updateForTrack. Fixes #2870. closes #2896 2015-12-08 11:43:14 -05:00
Carey Hinoki 8f2bc92412 @chemoish emulated HTMLTrackElement to enable track load events. closes #2804 2015-12-08 11:24:51 -05:00
Gary Katsevman e78e26b8a4 @gkatsev added a Player#reset method. Fixes #2852. closes #2880 2015-12-07 17:45:50 -05:00
Nicholas Fantozz 9e3a7b6159 @nick11703 changed multiline comments in sass with single-line comments. closes #2827 2015-12-07 16:30:26 -05:00
Gary Katsevman 0b7a2e41b3 @gkatsev added Player#tech. Fixes #2617. closes #2883 2015-12-07 16:27:33 -05:00
Pat O'Neill f225d4e68a @misteroneill updated videojs-ie8 to 1.1.1. closes #2869 2015-12-07 16:24:18 -05:00
Gary Katsevman a601fbb83f v5.3.0 2015-11-25 17:14:05 -05:00
jrivera 69b89e51f4 @imbcmdth added sourceOrder option for source-first ordering in selectSource. closes #2847 2015-11-25 17:11:36 -05:00
jforbes 8acd28c15a @forbesjo updated formatTime to not go negative. closes #2821 2015-11-25 16:46:41 -05:00
Matthew b188781fa9 v5.2.4 2015-11-25 21:31:49 +00:00
Matthew McClure 5ed0dc8adb @mmcc fixed vertical volume. closes #2859 2015-11-25 16:18:34 -05:00
Garrett Singer 72f77d77c9 @gesinger fixed handler explosion for cuechange events. closes #2849 2015-11-25 16:13:23 -05:00
Garrett Singer 7171ea8d42 @gesinger checked for track changes before tech started listening. closes #2835 2015-11-25 16:00:49 -05:00
Gary 3e19c91828 v5.2.3 2015-11-24 20:52:01 +00:00
Gary Katsevman 5f9095079e @gkatsev fixed clearing out errors. closes #2850 2015-11-24 15:37:34 -05:00
paladox 552d8cbda3 v5.2.2 2015-11-23 17:31:27 +00:00
paladox 8d0de0fa51 @paladox updated xhr from deprecated ver to v2.2. closes #2837 2015-11-23 12:22:07 -05:00
tomaspinho c4dbd2488b @tomaspinho added 'ended' event to API docs. closes #2836 2015-11-23 12:15:50 -05:00
Violeta Marculescu c0d5f471bc @bcvio fixed returning current source rather than blob url. closes #2833 2015-11-23 12:04:31 -05:00
Nathaniel Bibler 3a40b10fa6 @nbibler ensured classes begin with alpha characters. Fixes #2828. closes #2829 2015-11-20 17:38:05 -05:00
Dat Tran 7dff83b2a4 @DatTran fixed bower paths. Fixes #2740. closes #2775 2015-11-20 17:22:49 -05:00
Kay 6bbd6f1a65 v5.2.1 2015-11-16 16:43:29 +00:00
Kay J d9b5fbc60d @ksjun corrected the registerTech export. closes #2816 2015-11-16 10:42:35 -05:00
David LaPalomento 385266338a @dmlap Check a component is a function before new-ing. closes #2814 2015-11-16 10:18:09 -05:00
Gary Katsevman 0e1c424e48 v5.2.0 2015-11-10 15:56:11 -05:00
Gary Katsevman d1316a39ab @gkatsev updated MediaLoader to check for techs in their registry. closes #2798 2015-11-10 15:53:14 -05:00
Gary Katsevman 210caea7f0 @gkatsev updated contrib.json to use / as branch-name separator in feature-accept. closes #2803 2015-11-10 15:50:21 -05:00
Gary Katsevman 0da23c1d8d @gkatsev fixed usage of textTracksToJson. closes #2797 2015-11-10 15:30:09 -05:00
zjruan 2627e86db5 @zjruan updated text track prototype loops to blacklist constructor for IE8. closes #2565 2015-11-10 15:15:58 -05:00
Greg ea2e274a30 @incompl fixed broken link to reduced test cases article. closes #2801 2015-11-10 10:54:20 -05:00
Pat O'Neill f2fa8f8687 @misteroneill exposed DOM helpers. closes #2754 2015-11-09 17:43:17 -05:00
Siebrand Mazeland cd800b02ea @siebrand updated dutch translations. closes #2556. 2015-11-09 15:07:28 -05:00
paladox 89d860fb84 @paladox updated grunt-contrib-jshint. closes #2554 2015-11-09 14:47:51 -05:00
paladox ed5ed0ded4 @paladox updated grunt-cli dependency. closes #2555 2015-11-09 14:44:22 -05:00
Gary Katsevman 977eedda79 Update CHANGELOG for RTMP 2015-11-09 14:31:43 -05:00
Brian Deitte 4e395b6b02 Add unit test for new rtmp path changes 2015-11-09 14:31:15 -05:00
Jacob Poul Richardt a25c4c98f3 Added logic to avoid incorrectly dividing a rtmp path with multiple query parameters in the connection part of the path. 2015-11-09 14:31:15 -05:00
Gary Katsevman b1e863677f @gkatsev added a tech registry. Fixes #2772. closes #2782 2015-11-09 14:12:57 -05:00
David LaPalomento 98f241d614 @dmlap updated swf to 5.0.1. closes #2795 2015-11-09 11:47:47 -05:00
Gary Katsevman 5d754c911d @gkatsev made initListeners more general and added Tech.isTech. Fixes #2767. closes #2773 2015-11-06 16:42:19 -05:00
Gary Katsevman fa2f08ad66 v5.1.0 2015-11-02 11:27:10 -05:00
jrivera 0b32893612 @imbcmdth Deferred the implementation of select functions in the tech to source handlers if they provide them. closes #2760 2015-10-30 16:09:27 -04:00
Carey Hinoki d0efd16b49 @chemoish Fix captions sticking to bottom for webkit browsers. Fixes #2193. closes #2702 2015-10-30 16:02:16 -04:00
Erik Straub c24a3a8173 @brkattk updated emulateTextTrack to exit early if no textTracks. closes #2426 2015-10-28 18:01:15 -04:00
Pat O'Neill e6f5d6b585 @misteroneill Add browserify:dist Target. Fix vtt.js URL.. closes #2741 2015-10-28 17:47:18 -04:00
Pat O'Neill 42e33ca537 @misteroneill updated modal dialog CSS. closes #2756 2015-10-28 17:30:56 -04:00
jforbes 655e14a733 @forbesjo Added Microsoft Caption Maker link. closes #2618 2015-10-28 16:14:44 -04:00
Ian Zamojc 871dac9c3a @Soviut Fixed argument names in some API docs. closes #2714 2015-10-28 16:10:51 -04:00
KahWee Teng 6e25aef060 @kahwee Fixed sandbox plugin example to work in Video.js 5. closes #2691 2015-10-28 16:06:33 -04:00
Dave Voyles 5f5357d535 @DaveVoyles updated URL to player API docs. closes #2685 2015-10-28 15:59:32 -04:00
Pat O'Neill 86f23d39fd @misteroneill removed z-index from big play button. closes #2639 2015-10-28 15:53:14 -04:00
Pat O'Neill 51f1863adc @misteroneill added a modal dialog. closes #2668 2015-10-28 13:28:15 -04:00
Gary Katsevman ab88bcdde3 @gkatsev fixes track tests and ignored empty properties in tracks converter. closes #2744 2015-10-27 15:54:48 -04:00
Nicky Gerritsen 589cab7fa7 @nickygerritsen added canPlayType method to player. closes #2709 2015-10-27 13:46:05 -04:00
jforbes c85b526a1c @forbesjo removed android/ios tests to increase build stability. closes #2739 2015-10-26 17:13:57 -04:00
jforbes 4598b38291 @forbesjo updated karma to use all installed browsers for unit tests. closes #2708 2015-10-26 17:06:16 -04:00
Gary Katsevman 93e079718e @gkatsev removed unhelpful isCrossOrigin test. closes #2715 2015-10-26 16:57:21 -04:00
Gary Katsevman 34742e09a5 Merge branch 'stable' 2015-10-23 17:37:57 -04:00
Gary 702fbe4d68 v5.0.2 2015-10-23 21:24:20 +00:00
Gary Katsevman d036f25681 Fixup changelog 2015-10-23 17:20:18 -04:00
Gary e98bc42500 v5.0.1 2015-10-23 20:20:49 +00:00
Gary Katsevman d47a8ab2dc Merge branch 'stable' 2015-10-23 16:15:16 -04:00
Gary Katsevman c89f645600 @gkatsev bumped chg to fix stalling issues. closes #2732 2015-10-23 16:15:07 -04:00
Gary Katsevman 6f3826a7ef Merge branch 'stable' 2015-10-23 12:00:11 -04:00
Gary Katsevman d9524d4d35 @gkatsev updated contrib update and have contrib release only update local branches. closes #2723 2015-10-23 11:59:57 -04:00
Gary Katsevman 1834d39c2f Merge branch 'stable' 2015-10-20 14:00:48 -04:00
Gary Katsevman 49698d2a8c @gkatsev bumped obj.assign to fix uncaught SecurityError in iframes. Fixes #2703. closes #2721 2015-10-20 13:57:21 -04:00
Gary Katsevman 9c28857247 bump object.assign. Fixes #2703 2015-10-20 13:46:55 -04:00
typcn 40b6ad3050 @typcn bumped grunt-sass to ^1.0.0 to support node 4.x. closes #2645 2015-10-19 11:34:57 -04:00
heff e58c2266de Merge branch 'stable' 2015-10-09 14:14:17 -07:00
heff 0832b89970 Added merge to master process back to the patch accept process 2015-10-09 14:13:23 -07:00
heff 7ce59efa7d Merge branch 'stable' 2015-10-09 14:07:57 -07:00
jrivera 8c101e2b35 @imbcmdth fixed an issue with emulateTextTracks being called before the tech dom was ready. closes #2692 2015-10-09 14:06:55 -07:00
heff aab9246253 Fixed the branch releases are created from 2015-09-29 16:15:22 -07:00
Steve Heffernan da09a44eda Updated usage stats in readme 2015-09-29 13:05:26 -07:00
Steve Heffernan 6beb0eb299 Update version in readme code 2015-09-29 13:04:40 -07:00
Matthew McClure a56781945a Removed unstable warning 2015-09-29 11:39:05 -07:00
heff 872459837b v5.0.0 2015-09-29 09:40:01 -07:00
heff 6354329a1b Removed outdated API docs 2015-09-29 09:31:22 -07:00
heff cd6c568a03 @imbcmdth fix potential triggerReady infinite loop 2015-09-29 09:28:02 -07:00
heff e225fbffc2 Merge branch 'master' into stable
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.less
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.dev.js
	dist/video-js/video.js
	dist/video-js/video.novtt.dev.js
	dist/video-js/video.novtt.js
	src/css/video-js.less
	src/js/control-bar/time-display.js
	src/js/exports.js
	src/js/lib.js
	src/js/media/flash.js
	src/js/media/flash.rtmp.js
	src/js/media/html5.js
	src/js/media/media.js
	src/js/player.externs.js
	test/unit/api.js
	test/unit/flash.js
	test/unit/media.html5.js
	test/unit/media.js
2015-09-29 09:14:50 -07:00
heff a5dad5ade2 v5.0.0-rc.104 2015-09-28 22:21:17 +00:00
heff 1d79c4a9e2 @heff changed component child lists to arrays instead of objects. closes #2477 2015-09-28 15:17:48 -07:00
heff c5321f4cbf v5.0.0-rc.103 2015-09-28 20:55:49 +00:00
heff 60c86465f8 @heff improved some skin defaults for external styling. closes #2642 2015-09-28 13:53:37 -07:00
Benoit 1f618d7b00 v5.0.0-rc.102 2015-09-28 18:25:20 +00:00
Benoit Tremblay 2de28927d7 @eXon added support for a tech-supplied poster. closes #2339 2015-09-28 11:23:25 -07:00
Pat 8d9695b6ad v5.0.0-rc.101 2015-09-25 18:16:18 +00:00
Pat O'Neill ad0820cfa3 @misteroneill fixed tsml to be used as a tag for template strings. closes #2629 2015-09-25 14:13:56 -04:00
heff 992e5e63f5 v5.0.0-rc.100 2015-09-25 15:25:18 +00:00
heff f6dca78c5e Fixed a contrib.json error 2015-09-25 11:23:28 -04:00
Gary Katsevman 0b7cf586c2 @gkatsev exposed isCrossOrigin and used it to enable CORS for textTrack XHRs. closes #2633 2015-09-24 19:58:25 -04:00
Pat O'Neill 1234faaf71 @misteroneill updated play control to use its state for icon. closes #2636 2015-09-24 16:37:10 -04:00
heff f5b80c8ea9 Updated the contrib release process for 5.0
Also unescaped changelog entries in contrib pr accept

--skip-ci
2015-09-23 17:26:04 -04:00
heff 2c10c7f310 v5.0.0-rc.99 2015-09-23 16:36:55 +00:00
heff 81806d5725 @heff fixed timeranges deprecation warnings in tests. closes #2627 2015-09-23 12:34:59 -04:00
heff 9788112e76 v5.0.0-rc.98 2015-09-23 16:31:12 +00:00
heff 42468e19be @heff removed a second copy of video.novtt.js from dist. closes #2630 2015-09-23 12:29:22 -04:00
Matthew ba6018d4ea v5.0.0-rc.97 2015-09-22 23:55:38 +00:00
Matthew McClure e121428565 moved actual grunt file to build dir 2015-09-22 15:58:42 -07:00
Pat 2be7263ac3 v5.0.0-rc.96 2015-09-22 15:46:50 +00:00
Pat O'Neill 3f8be868bd @misteroneill re-exposed videojs.TextTrack. closes #2625 2015-09-22 11:41:39 -04:00
jforbes 8fbe0a947f v5.0.0-rc.95 2015-09-22 15:39:08 +00:00
jforbes 1f06f23ded @forbesjo removed the PhantomJS dependency. closes #2622 2015-09-22 11:32:23 -04:00
Pat d072d9b371 v5.0.0-rc.94 2015-09-22 15:21:08 +00:00
Pat O'Neill 61a00db7cb @misteroneill rename "extends" to "extend" for ie8. closes #2624 2015-09-22 11:19:04 -04:00
jrivera a0b4293b82 v5.0.0-rc.93 2015-09-21 22:05:46 +00:00
jrivera 24ad9841ac @imbcmdth extended createTimeRange to support multiple timeranges. closes #2604 2015-09-21 18:04:10 -04:00
Gary ccedad44ef v5.0.0-rc.92 2015-09-21 21:54:09 +00:00
Gary Katsevman 81000369ec @gkatsev fixed potential double default style elements. closes #2619 2015-09-21 17:52:32 -04:00
heff 651a33a145 v5.0.0-rc.91 2015-09-18 17:31:30 +00:00
heff 51bae4d7cf Fixed a double loadstart and added readyState catch up events
- Fixed some issue comments
 - Fixed a double ready event

closes #2605
fixes #2588
2015-09-18 10:28:16 -07:00
David 968bd7432d v5.0.0-rc.90 2015-09-15 22:28:43 +00:00
David LaPalomento 24cdbdefff Use Raynos/xhr for XMLHttpRequests
- Get rid of our custom XHR shim. Export it as videojs.xhr.
- Updated XHR to be stubbed everywhere in tests to prevent errors.
- Added npm install to the review process

closes #2318
closes #2594
2015-09-15 15:25:11 -07:00
heff 0c416bd286 v5.0.0-rc.89 2015-09-15 20:04:00 +00:00
heff 4cb76873f4 Removed the loadedalldata event
closes #2591
closes #1676
2015-09-15 12:59:01 -07:00
heff 99376bf396 v5.0.0-rc.88 2015-09-15 19:56:34 +00:00
heff f7466af956 Made tech related functions clearly private in the player
This is important for enforcing the model that techs should
work the same for everything.

closes #2590
fixes #2060

- Made techGet and techCall private functions
- Made loadTech, techName, and unloadTech private
- Cleaned up all other private method naming in the player
- Removed some unneeded comments
2015-09-15 12:54:26 -07:00
heff 50bb4540a1 v5.0.0-rc.87 2015-09-15 18:01:20 +00:00
heff f10d8d0cb3 @heff added an attributes argument to createEl(). closes #2589
fixes #2176
2015-09-15 10:59:08 -07:00
Gary a3bfa8a73c v5.0.0-rc.86 2015-09-15 16:44:01 +00:00
Gary Katsevman 63451a7526 @gkatsev added a mouse-hover time display to the progress bar. closes #2569 2015-09-15 09:41:53 -07:00
heff 4f250e8fc2 v5.0.0-rc.85 2015-09-15 01:32:47 +00:00
heff 85b825a0dd @heff added a fancy loading spinner. closes #2582 2015-09-14 18:29:06 -07:00
heff 517489513f v5.0.0-rc.84 2015-09-15 01:27:53 +00:00
heff c9974657a9 @heff moved scss vars to be private. closes #2584 2015-09-14 18:26:14 -07:00
heff 313d18106b v5.0.0-rc.83 2015-09-14 23:04:09 +00:00
heff 32aa9ed7e4 @heff improved css selector strengths. closes #2583 2015-09-14 16:01:50 -07:00
jforbes 4d6c737a21 v5.0.0-rc.82 2015-09-14 22:56:55 +00:00
jforbes 2e1d051144 @forbesjo added Android and iOS browser testing. closes #2538 2015-09-14 15:55:01 -07:00
jforbes 2c74d9e355 v5.0.0-rc.81 2015-09-10 21:54:07 +00:00
jforbes 849b85bb83 @forbesjo fixed webkit deprecation warnings. closes #2559
fixes #2558
2015-09-10 14:53:30 -07:00
jforbes 1503bf1268 @forbesjo fixed webkit deprecation warnings. closes #2558 2015-09-10 14:51:21 -07:00
heff 4dadd01cf5 @heff fixed the inline volume control and made it the default. closes #2553 2015-09-10 14:49:32 -07:00
Gary 0bd7538fbc v5.0.0-rc.80 2015-09-09 21:24:11 +00:00
Gary Katsevman 1b745e7b11 @gkatsev made all sass variables !default. closes #2574 2015-09-09 17:20:06 -04:00
Gary a355f900b9 v5.0.0-rc.79 2015-09-09 18:21:46 +00:00
Gary Katsevman 0341ec12ad @gkatsev updated opacity of caption settings background color. closes #2573 2015-09-09 14:19:50 -04:00
heff 0b5f41c466 v5.0.0-rc.78 2015-09-08 19:48:48 +00:00
heff f7702f8f38 Fixed display the LIVE control bar item
...and also the layout in IE8 when live

Reorganized the styles some to group the vjs-live changes
with the components their affecting.

closes #2551
2015-09-08 12:45:22 -07:00
heff 9179bdbdf6 v5.0.0-rc.77 2015-09-07 19:12:24 +00:00
heff 1b057dfe85 Cleaned up durationchange process in the player 2015-09-07 12:09:59 -07:00
heff 658adb27ec v5.0.0-rc.76 2015-09-07 00:26:40 +00:00
heff 4b58fad8bd Fixed event bubbling in IE8
fixes #2414

Our fixEvent script makes a copy of the original event,
but it was failing to also set cancelBubble = true and
returnValue = false on the original event,
which is needed to make IE8 work like modern browsers.
2015-09-06 17:23:29 -07:00
Gary 3abc5c66df v5.0.0-rc.75 2015-09-04 18:57:55 +00:00
Gary Katsevman 1f5a83dc23 @gkatsev fixed the default state of userActive
closes #2557
fixes #2550
2015-09-04 11:55:48 -07:00
heff ccb6b35291 v5.0.0-rc.74 2015-09-03 21:48:35 +00:00
heff 5624adb75d @heff added back the default cdn url for the swf
closes #2533
fixes #2488
2015-09-03 14:46:30 -07:00
heff 63e21bdadd v5.0.0-rc.73 2015-09-03 20:57:06 +00:00
heff 4582e8a003 @heff added a default data attribute to fix the progress handle display in IE8
closes #2547
fixes #2449
2015-09-03 13:54:12 -07:00
heff 65b5a6e298 v5.0.0-rc.72 2015-09-02 22:48:59 +00:00
heff 3fb786e271 @heff removed playerOptions from plugin options because it created an inconsistency in plugin inits. closes #2532 2015-09-02 15:47:10 -07:00
Gary 0f6abfd210 v5.0.0-rc.71 2015-09-02 20:40:08 +00:00
Gary Katsevman 608dad1299 @gkatsev made the sass files available via npm in src/css. closes #2546 2015-09-02 16:37:44 -04:00
heff f151c3b67e v5.0.0-rc.70 2015-09-01 00:24:43 +00:00
heff f492450a01 Small fix to an IE9 broken test, introduced in #2513 2015-08-31 17:17:26 -07:00
heff b40865ad2b v5.0.0-rc.69 2015-08-31 23:38:31 +00:00
heff 4d97dd4d29 Fixed a number of errors in the log after testing
- Fixed a console error in dom tests from loading a track source
- Switched to non-fetching poster urls in tests to prevent errors
- Stubbed XHR for TextTrack tests to prevent log errors
- Fixed text track console errors that stubbing async didn't catch
    because there's some async happening in tracks that makes it so
- XHR isn't even used until the test is complete
- Removed extra code
- Added player.dispose more places and fixed attributes test
2015-08-31 16:36:11 -07:00
heff a584104b78 Release v4.12.15 2015-08-31 22:12:11 +00:00
heff 2e8b306578 Updated to v4.7.5 of the swf. closes #2531 2015-08-31 14:58:21 -07:00
David ea467b31b8 v5.0.0-rc.68 2015-08-31 19:49:31 +00:00
David LaPalomento e95e3e76b2 @dmlap expose start and end buffered times. closes #2501 2015-08-31 15:47:51 -04:00
David 6a26358da2 v5.0.0-rc.67 2015-08-31 19:39:09 +00:00
David LaPalomento b35c8774b8 @dmlap update to videojs-swf 5.0.0-rc1. closes #2528 2015-08-31 15:37:25 -04:00
Brandon Bay fca885a62f @bc-bbay migrate seeking on replay to the flash tech. closes #2519 2015-08-31 15:02:19 -04:00
Gary 336be2f8b7 v5.0.0-rc.66 2015-08-31 18:23:27 +00:00
Gary Katsevman 98315b0e52 @dmlap @gkatsev improve Flash tech error property and add an error setter to the base tech. closes #2517 2015-08-31 14:21:53 -04:00
David 547e82d8e8 v5.0.0-rc.65 2015-08-31 18:14:45 +00:00
David LaPalomento 90c6890567 @dmlap move seek on replay into the flash tech. closes #2527 2015-08-31 14:12:12 -04:00
Matthew c38778c296 v5.0.0-rc.64 2015-08-27 19:48:06 +00:00
Matthew McClure 473861ba38 Removed Microsoft Caption Maker dead link 2015-08-27 12:46:12 -07:00
Gary b27bbf16b1 v5.0.0-rc.63 2015-08-25 20:21:18 +00:00
Gary Katsevman de39cfc5ab @gkatsev improved tech controls listener handling.. closes #2511 2015-08-25 16:17:35 -04:00
David LaPalomento 75e65c6585 @dmlap update to videojs-swf 4.7.4. closes #2463 2015-08-25 09:45:54 -04:00
jforbes e10a2f4b03 v5.0.0-rc.62 2015-08-24 19:59:42 +00:00
jforbes dfe751d8d2 Increased BrowserStack polling to help with rate limit errors
closes #2497
2015-08-24 12:55:42 -07:00
heff bfbd065e42 v5.0.0-rc.61 2015-08-24 19:50:39 +00:00
heff f7d1289593 @heff fixed cross-platform track tests by switching to a fake tech. closes #2496 2015-08-24 12:48:42 -07:00
Gary 44fa9af226 v5.0.0-rc.60 2015-08-21 22:13:51 +00:00
Gary Katsevman f3b5075bcd @gkatsev fixed nativeControlsForTouch handling. Defaults to native controls on iphone and native android browsers.. closes #2499 2015-08-21 17:43:07 -04:00
Gary 0fe811df2c Release v4.12.14 2015-08-21 18:21:24 +00:00
Gary Katsevman a02f0befbc @gkatsev removed non-default track auto-disabling. closes #2468 2015-08-21 11:19:55 -04:00
jforbes ceba633edb v5.0.0-rc.59 2015-08-20 22:00:48 +00:00
jforbes 976ee6e30b @forbesjo switched automated testing to BrowserStack. closes #2492 2015-08-20 14:57:59 -07:00
Gary eca378c388 v5.0.0-rc.58 2015-08-19 23:37:55 +00:00
Gary Katsevman 904bf0cabf @gkatsev deep clone el for iOS to preserve tracks. closes #2494 2015-08-19 19:35:53 -04:00
Nicky 3228821926 v5.0.0-rc.57 2015-08-19 19:25:32 +00:00
Nicky Gerritsen 33de0085ae @nickygerritsen fixed texttrack handling in IE10. closes #2481 2015-08-19 15:23:11 -04:00
Gary d0e2ede27a v5.0.0-rc.56 2015-08-19 19:13:26 +00:00
Gary Katsevman c4ed1451e0 @gkatsev exported event helpers on videojs object. closes #2491 2015-08-19 15:11:28 -04:00
Gary 395780a1b6 v5.0.0-rc.55 2015-08-19 18:40:14 +00:00
Gary Katsevman b1055dce01 @gkatsev removed non-default track auto-disabling. closes #2475 2015-08-19 14:38:14 -04:00
Gary cc6369c524 v5.0.0-rc.54 2015-08-19 18:20:09 +00:00
Gary Katsevman ecca3a1b58 @gkatsev moved default and player dimensions to style els at the top of HEAD el. closes #2482 2015-08-19 14:18:14 -04:00
Gary Katsevman 55143b261d Merge branch 'master' of https://github.com/videojs/video.js 2015-08-19 14:16:16 -04:00
Gary Katsevman 76b5ffc7b5 @gkatsev moved default and player dimensions to style els at the top of HEAD. closes #2482 2015-08-19 14:13:58 -04:00
Pat 70d9bbd145 v5.0.0-rc.53 2015-08-19 17:57:19 +00:00
Pat O'Neill 79e58884de @misternoneill fixed vertical slider issues. closes #2469 2015-08-19 13:54:47 -04:00
Matthew 06f16d993e v5.0.0-rc.52 2015-08-17 18:30:57 +00:00
Matthew McClure 863f31546d @mmcc Fixed IE by using setAttribute to set 'type' property. closes #2487 2015-08-17 11:29:02 -07:00
Pat 51f92181e8 v5.0.0-rc.51 2015-08-13 20:52:04 +00:00
Pat O'Neill 3a889ea4b5 Don't use setGlobalOptions in sandbox 2015-08-13 13:48:57 -07:00
Matthew ac97de0bd4 v5.0.0-rc.50 2015-08-13 20:45:58 +00:00
Matthew McClure 20b2a78287 @mmcc added type=button to button components. closes #2471 2015-08-13 13:43:57 -07:00
Gary 39ef157994 v5.0.0-rc.49 2015-08-12 23:06:54 +00:00
Gary Katsevman 4ec82d647d @gkatsev fixed text track errors on dispose and in cross-browser testing. closes #2466 2015-08-12 16:04:31 -07:00
Matthew 293c9875d8 v5.0.0-rc.48 2015-08-12 22:17:22 +00:00
Matthew McClure fa58f51fd1 Fixed the changelog reference
Had the wrong PR in mind when writing the changelog message.
2015-08-12 15:15:30 -07:00
Kemal Ogun Isik 4a4e85912e @misteroneill fixed a potential issue with vertical sliders by replacing an options check with the appropriate getter. closes #2460 2015-08-12 15:12:27 -07:00
David 8b97163250 v5.0.0-rc.47 2015-08-12 20:53:53 +00:00
David LaPalomento fecf3a0f8a @dmlap switched global options back to an object at videojs.options. closes #2461 2015-08-12 13:51:43 -07:00
Vladimir B 4fd59c89db Removed a duplicate changelog entry
closes #2445
--skip-ci
2015-08-12 11:36:03 -07:00
Matthew e4f2f3bd96 v5.0.0-rc.46 2015-08-12 17:50:11 +00:00
Matthew McClure f1a8421ea7 Fixed quoted boolean in options guide 2015-08-12 10:47:05 -07:00
Matthew McClure b41b12e0ab fixing merge conflict in changelog 2015-08-12 10:41:44 -07:00
Matthew McClure cbbae8fabd @mmcc made sure controls respect muted attribute. closes #2408 2015-08-12 10:39:47 -07:00
jforbes cd3f96978f v5.0.0-rc.45 2015-08-12 00:39:56 +00:00
jforbes 564da36339 @forbesjo updated the sauce labs config and browser versions
closes #2450
closes #2149
2015-08-11 17:37:27 -07:00
David c03e26c575 Release v4.12.13 2015-08-10 19:38:19 +00:00
Pat 70fec0bc50 v5.0.0-rc.44 2015-08-10 19:35:10 +00:00
Pat O'Neill ed790fdc38 @misteroneill pass vtt.js option to tech. closes #2448 2015-08-10 15:33:03 -04:00
Pat 589a0f86ee v5.0.0-rc.43 2015-08-10 19:25:17 +00:00
Pat O'Neill c0673d2852 @misteroneill create video.novtt.js in dist builds. closes #2447 2015-08-10 15:22:15 -04:00
Pat 67c0d999cc v5.0.0-rc.42 2015-08-10 19:11:38 +00:00
Pat O'Neill 1bf64890c0 @misteroneill include child components with `true` in options. closes #2424 2015-08-10 15:07:59 -04:00
Pat b528473655 v5.0.0-rc.41 2015-08-10 19:02:17 +00:00
Pat O'Neill a02e3609ab @misteroneill restore videojs.formatTime. closes #2420 2015-08-10 14:59:47 -04:00
David LaPalomento 9ed5be570d @dmlap update to videojs-swf v4.7.3. closes #2457 2015-08-10 14:28:10 -04:00
Pat O'Neill 8c6c7d6e27 Allow customizing the port used by grunt connect
Use next available port if requested one is taken

closes #2441
--skip-ci
2015-08-06 15:41:51 -07:00
Pat 6905d0b005 v5.0.0-rc.40 2015-08-06 22:11:12 +00:00
Pat O'Neill f80de2b1ac @misteroneill removed the deprecated Component init method. closes #2427 2015-08-06 15:09:13 -07:00
Pat 1f8e0cc48a v5.0.0-rc.39 2015-08-03 19:38:03 +00:00
Pat O'Neill abca8913e1 @misteroneill restore Html5.Events. closes #2421 2015-08-03 15:36:25 -04:00
Gary f97e84a41e v5.0.0-rc.38 2015-08-03 19:21:18 +00:00
Gary Katsevman 2dfd315ac1 @gkatsev always use emulated TextTrackLists so tracks survive tech switches. closes #2425 2015-08-03 15:19:36 -04:00
Nicky 7d335e0989 v5.0.0-rc.37 2015-08-03 17:28:02 +00:00
Nicky Gerritsen 1d0ae800b8 @nickygerritsen use the default seekable when a source handler is unset. closes #2401 2015-08-03 13:26:20 -04:00
Matthew cb6465e9d2 v5.0.0-rc.36 2015-08-03 16:36:56 +00:00
Matthew Pietz 746f07a0ec @sirlancelot change "video" to "media" in error messages. closes #2409 2015-08-03 12:35:18 -04:00
David LaPalomento 4979d765f8 Merge branch 'master' of github.com:videojs/video.js 2015-08-03 12:34:01 -04:00
Matthew Pietz d3d1a7fed7 @sirlancelot change "video" to "media" in error messages. closes #2409 2015-08-03 12:33:18 -04:00
Nicky b2db8b9fb6 v5.0.0-rc.35 2015-08-03 16:30:53 +00:00
Nicky Gerritsen fe65ffae65 @nickygerritsen scrubbing() is a method, not a property. closes #2411 2015-08-03 12:28:26 -04:00
heff 8418a316d6 v5.0.0-rc.34 2015-07-30 19:40:54 +00:00
heff 3bf415e522 @heff use a synchronous ready() internally. closes #2392 2015-07-30 15:38:01 -04:00
Pat 5c4681506b v5.0.0-rc.33 2015-07-30 18:13:56 +00:00
Pat O'Neill 8aa61d3b1a @misteroneill restore some 4.x utilities and remove deprecated functionality. closes #2406 2015-07-30 14:11:31 -04:00
David aa8601f22f v5.0.0-rc.32 2015-07-30 16:12:50 +00:00
David LaPalomento a76b42d50c @misteroneill restore some properties on window.videojs. Closes #2395 2015-07-30 12:10:04 -04:00
Matthew 06bff98ca6 v5.0.0-rc.31 2015-07-28 23:42:10 +00:00
Matthew McClure 6a9e2e01d0 Added username to unclaimed CHANGELOG entry 2015-07-28 16:40:23 -07:00
Matthew 63392f25a7 v5.0.0-rc.30 2015-07-28 23:32:49 +00:00
Matthew McClure e330e7b978 Added "inline" option to MenuButton and updated VolumeMenuButton to be able to utilize it. closes #2378 2015-07-28 16:30:05 -07:00
heff 57152ae62f v5.0.0-rc.29 2015-07-24 17:14:27 +00:00
heff e5a8c835e1 Updated Safari OS X version to 10.10 to fix browser tests 2015-07-24 10:11:20 -07:00
Benoit dd6ed45f8e v5.0.0-rc.28 2015-07-24 17:05:11 +00:00
Benoit Tremblay d11add5dc2 Send the video.js language to the tech
I want to set the YouTube player (or any other iframe tech)
in the same language than video.js. To do so,
it needs to know the language option.

closes #2342
2015-07-24 10:01:23 -07:00
Benoit 152e1ad808 v5.0.0-rc.27 2015-07-24 16:41:32 +00:00
Benoit Tremblay 39d9989589 @eXon made sure the volume persists between tech changes. closes #2340 2015-07-24 09:37:55 -07:00
Benoit 75af988c86 v5.0.0-rc.26 2015-07-24 16:35:39 +00:00
Benoit Tremblay dd0752e6b0 @eXon added the poster to the options the tech receives. closes #2338 2015-07-24 09:33:13 -07:00
heff e0b1008225 Fix IE8 tests
- Removed incompatible module
- Added ie8 shim to qunit index.html
- Fixed extends() usage

--skip-ci
2015-07-24 09:20:43 -07:00
Pat 3cabc75b83 v5.0.0-rc.25 2015-07-24 16:10:27 +00:00
Pat O'Neill 456ee4e84f @misteroneill fixed internal extends usage and added a deprecation warning. closes #2390 2015-07-24 09:07:58 -07:00
jrivera 01ea3d1ae3 Release v4.12.12 2015-07-23 17:37:30 +00:00
jrivera 69dde46aa2 @imbcmdth fix potential triggerReady infinite loop. closes #2398 2015-07-23 11:28:34 -04:00
David 8be7810049 v5.0.0-rc.24 2015-07-21 23:00:24 +00:00
David LaPalomento b097016215 @dmlap expose the xhr helper utility. closes #2321 2015-07-21 18:58:55 -04:00
David 843a57765d v5.0.0-rc.23 2015-07-21 21:33:22 +00:00
David LaPalomento 4ad45ef9a8 @dmlap fire seeking in the flash tech, not the SWF. closes #2372 2015-07-21 17:31:51 -04:00
David 4056c5f75c v5.0.0-rc.22 2015-07-21 21:14:00 +00:00
David LaPalomento d3d5d032fc @dmlap use seekable on source handlers when defined. closes #2376 2015-07-21 17:12:24 -04:00
David 52bbd468d5 v5.0.0-rc.21 2015-07-21 20:57:44 +00:00
David LaPalomento 1102452ca3 @dmlap export a basic played() on techs. closes #2384 2015-07-21 16:56:23 -04:00
David dd9930b6c6 v5.0.0-rc.20 2015-07-21 18:08:08 +00:00
David LaPalomento a18768b938 @dmlap export videojs.createTimeRange. closes #2361 2015-07-21 14:05:44 -04:00
David c98f775267 v5.0.0-rc.19 2015-07-21 17:00:51 +00:00
David LaPalomento 07f0483780 @dmlap switched events to not bubble by default. closes #2351 2015-07-21 09:58:12 -07:00
David 1eb416deef v5.0.0-rc.18 2015-07-21 16:09:35 +00:00
David LaPalomento d3655f79a1 Merge pull request #2389 from dmlap/fix-libsass
Use node.js 0.12 for travis
2015-07-21 12:07:45 -04:00
David LaPalomento dbad385157 Use node.js 0.12 for travis
libsass may be running into issues with bindings and iojs so use a version-pegged node.js for now.
2015-07-21 12:02:24 -04:00
Matthew ca5103befe v5.0.0-rc.17 2015-07-17 01:23:41 +00:00
Matthew McClure fa08d77766 Merge branch 'master' of github.com:videojs/video.js 2015-07-16 18:21:02 -07:00
Matthew McClure e5d4757e36 Fixed vertical option for volumeMenuButton. closes #2352 2015-07-16 18:20:23 -07:00
Gary 69348f4e0d v5.0.0-rc.16 2015-07-16 20:40:18 +00:00
Gary Katsevman 8cc967e022 pass fs state to player from enterFullscreen, split full-window styles into their own selector. closes #2357 2015-07-16 13:38:13 -07:00
jrivera d2de00cae1 @imbcmdth updated source handlers to use bracket notation so they wont break when using minified videojs. closes #2348 2015-07-16 13:48:34 -04:00
heff 3842890900 v5.0.0-rc.15 2015-07-15 22:24:33 +00:00
heff 3e35935182 Sped up tests by relying on watchify and splitting up tests
- Temporarily killed API tests. Combining them with other tests.
- Using browserify:watch for build/temp/video.js (sandbox testing)
- Using karma:watch for automated tests

Using individual watch tasks allows watchify to use smart caching in both
instances.

- Switched to grunt-concurrent for watch tasks
- Switched to travis containers, sudo: false
- Added caching of npm modules in Travis
- Consolidated travis testing
- Cleaned up grunt file
- Fixed travis.yml spacing
- Added the watchAll task for trying it out
- Moved travis test script logic to package.json
- Moved coverage reporting to Travis only

closes #2254
2015-07-15 15:22:34 -07:00
Gary dfd481037e v5.0.0-rc.14 2015-07-13 17:06:31 +00:00
Gary Katsevman 3268d71577 Insert cloned el back into DOM. Fixes #2214. closes #2334 2015-07-13 13:04:04 -04:00
Gary 7bcc2ba8f7 v5.0.0-rc.13 2015-07-10 21:46:54 +00:00
Gary Katsevman 9de463e35c Export bind on videojs. Fixes #2322
closes #2332
2015-07-10 14:44:29 -07:00
Gary 5bcf3b40e3 v5.0.0-rc.12 2015-07-10 20:42:55 +00:00
Gary Katsevman d5061d7691 Update vttjs to fix a trailing comma JSON error
closes #2331
2015-07-10 13:40:40 -07:00
David 70d82a03db v5.0.0-rc.11 2015-07-10 19:37:02 +00:00
David LaPalomento f53f3dc36f @dmlap exported the videojs.log function. closes #2317 2015-07-10 12:36:09 -07:00
David 590e731db4 v5.0.0-rc.10 2015-07-10 19:23:15 +00:00
David LaPalomento ccd6ed44b8 Don't track progress until ready
Delay manual progress checks until the tech is ready to avoid errors.
The Flash tech errors if buffered() is called before the SWF has loaded,
for instance.

closes #2316
fixes #2288
rel #2289
2015-07-10 12:22:20 -07:00
Pavel Horal f9316fcda0 @pavelhoral fixed subclassing without a constructor. closes #2308 2015-07-10 11:42:29 -07:00
Matthew 440dfe92f8 v5.0.0-rc.9 2015-07-09 23:21:22 +00:00
Matthew McClure ba4ab80455 Added a currentTime tooltip to the progress handle
- added data-current-time attr to PlayProgressBar
- show data-current-time attr in tooltip on hover
- separate hover state from styling

closes #2255
2015-07-09 16:18:43 -07:00
Matt db3e58b653 v5.0.0-rc.8 2015-07-09 23:05:34 +00:00
Matt Boles 77a96bea6f Improved JSDoc comments everywhere for new docs generation
closes #2270
2015-07-09 16:03:49 -07:00
Michelle f73f69c66c v5.0.0-rc.7 2015-07-09 22:42:04 +00:00
Michelle Anderson 3479a545aa Checking on the event the relatedTarget exists before setting its property
Fixes a bug where relatedTarget was undefined in Firefox

fixes #2024
closes #2025
2015-07-09 15:41:07 -07:00
David 46c79e2b19 Release v4.12.11 2015-07-09 18:58:21 +00:00
David LaPalomento c2820e9e38 @dmlap fixed an error caused by calling vjs_getProperty on the swf too early. closes #2289 2015-07-09 11:52:52 -07:00
Gary Katsevman c43863edbd @gkatsev updated the vtt.js version to fix JSON issues. closes #2327 2015-07-09 11:46:58 -07:00
Gary 004b1e8f7b v5.0.0-rc.6 2015-07-08 22:08:15 +00:00
Gary Katsevman 2b79dacdbc @gkatsev fixed the texttrackchange event and text track display for non-native tracks. closes #2215 2015-07-08 15:07:21 -07:00
Thijs 5fc794f4e7 v5.0.0-rc.5 2015-07-08 21:53:06 +00:00
Thijs Triemstra 56be47b80a Log an error when a plugin can't be found
closes #1931
closes #1928
2015-07-08 14:51:00 -07:00
Gaurav Saxena 34822537f4 @saxena-gaurav updated swf to 4.7.2 to fix flash of previous video frame. closes #2300 2015-07-08 14:27:39 -04:00
Matthew 49fbea6f4c v5.0.0-rc.4 2015-07-07 00:11:38 +00:00
Matthew McClure b77e3c9ade @mmcc added the vjs-big-play-centered class. closes #2293 2015-07-06 17:10:50 -07:00
David LaPalomento 99032bb2a7 @dmlap updated to videojs-swf@4.7.1 to fix a video dimensions issue on subsequent loads. closes #2281 2015-07-06 16:36:19 -07:00
Pavel 8d33388899 v5.0.0-rc.3 2015-07-02 04:24:40 +00:00
Pavel Horal 26a78627f1 @pavelhoral fixed a bug with user activity that caused the control bar to flicker. closes #2299
Fixes #2298
2015-07-01 21:22:58 -07:00
David b93dea70b8 Release v4.12.10 2015-06-23 20:43:28 +00:00
David LaPalomento 0f1c5f22f0 Add changelog entry for SWF update
Prepend attribution to the previous entry.
2015-06-23 16:34:48 -04:00
jrivera 56d4861bb0 src() should not return blob URLs with MSE source handlers. closes #2271 2015-06-23 16:28:23 -04:00
David LaPalomento 1404121fee Merge pull request #2280 from dmlap/swf-4.7.1
Bump the SWF up to 4.7.1
2015-06-23 15:57:54 -04:00
David LaPalomento dfd8408ac5 Bump the SWF up to 4.7.1
Pick up a fix for video dimensions being ignored after the first metadata tag.
2015-06-23 15:50:12 -04:00
jrivera 1bc8efc218 Release v4.12.9 2015-06-15 20:30:49 +00:00
jrivera 463ba4ea44 @imbcmdth fixed async currentSrc behavior. closes #2256 2015-06-15 16:26:07 -04:00
Steve Heffernan d5605be8f5 Merge pull request #2258 from mboles/master
Fix Button class comments for JSDoc
2015-06-12 10:54:09 -07:00
Matt Boles e4ddb4f769 Updated Button class comments 2015-06-12 11:31:18 -04:00
jrivera 20b46b9fb9 @imbcmdth updated currentSrc to return src instead of blob urls in html5 tech. Fixes #2232. closes #2232 2015-06-10 14:14:54 -04:00
heff 05b6bb2ae4 Removed swf creation from tests
- Broke out RTMP tests into their own file.
- Cleaned up the currentTime test to not create the swf
- Cleaned up the flash dispose test
- Cleaned up formatting for additional flash tests

--skip-ci
2015-06-09 12:49:12 -07:00
Matthew ffe7c32899 v5.0.0-rc.2 2015-06-08 21:39:27 +00:00
Matthew McClure ee22d4ad5b @mmcc un-hid the current and remaining times by default. closes #2241 2015-06-08 14:37:34 -07:00
David LaPalomento 0be74e51ff @dmlap added support for the seekable property. closes #2208 2015-06-08 13:47:04 -07:00
heff 3857d78261 v5.0.0-rc.1 2015-06-08 10:56:31 -07:00
heff 14c8705530 Updated build and sample files with IE8 shims
--skip-ci
2015-06-05 18:41:05 -07:00
Matthew McClure 00cc335d64 Added Shim/Sham note to setup guide
--skip-ci
2015-06-05 18:28:03 -07:00
Matthew 20748ba7f7 v5.0.0-34 2015-06-06 00:38:03 +00:00
Matthew McClure b3a2583e9e @mmcc fixed the progress handle transition jerkiness. closes #2219 2015-06-05 17:35:54 -07:00
Matthew 362821801e v5.0.0-33 2015-06-05 23:25:53 +00:00
Matthew McClure 34df8767a2 bumping font version to 1.3.0 2015-06-05 16:16:33 -07:00
heff 5bf28c9e3d v5.0.0-32 2015-06-05 22:49:14 +00:00
heff 4803ac2674 Removed the CDN publishing logic into it's own repo
See videojs/cdn#3

- Added a guide note about skipping analytics tracking on the CDN
- Updated videojs-font
- Added videojs-ie8 as a dependency
- Updated the examples directory URLs and added to dist
- Updated CSS to override font path
2015-06-05 15:38:52 -07:00
David 86a11a01ab Release v4.12.8 2015-06-05 21:31:55 +00:00
David LaPalomento fa6ad4929e @dmlap fix seekable export. closes #2227 2015-06-05 17:26:06 -04:00
arwid thornstrom 6410105190 @arwidt added Swedish and Finnish translations. closes #2189 2015-06-05 10:52:32 -07:00
bc-bbay 02cfee72d8 @bc-bbay made the duration display update itself on loadedmetadata. closes #2169 2015-06-05 10:41:04 -07:00
Carlos 7eff3aca48 v5.0.0-31 2015-06-05 17:39:36 +00:00
Carlos 55a391b54a @carpasse enhanced events to allow passing a second data argument. closes #2163 2015-06-05 10:36:59 -07:00
Steve 3a0f14728e v5.0.0-30 2015-06-05 00:39:39 +00:00
Steve Heffernan 040410122f Merge pull request #2218 from mmcc/ie10-flex-check
added IE10 flex support check
2015-06-04 17:37:50 -07:00
Matthew McClure 42f00f2bfc @mmcc deprecated the options() function and removed internal uses. closes #2229 2015-06-04 17:33:34 -07:00
Matthew McClure 56a9ef7571 added IE10 flex support check. closes #2212 2015-06-03 16:42:53 -07:00
Matthew McClure dac91a7b7b @mmcc moved the fonts into their own repo. closes #2223 2015-06-02 11:04:40 -07:00
David LaPalomento 1c35bfafc2 @dmlap add the seekable property. closes #2207 2015-06-01 17:40:40 -04:00
Steve f03a91909e v5.0.0-29 2015-05-30 02:15:59 +00:00
Steve Heffernan f056a5b2e6 Merge pull request #2220 from mmcc/ie6-progress-bar-bug
added display: none; to fix the custom spacer in ie8
2015-05-29 19:14:18 -07:00
Matthew McClure 9df41f6562 added display: none; to fix the custom spacer in ie8 2015-05-29 18:27:58 -07:00
Matthew 965af8113f v5.0.0-28 2015-05-29 23:58:59 +00:00
Matthew McClure d729547cbf @mmcc increased the size of the progress bar and handle on hover. closes #2216
fixes #2117
2015-05-29 16:56:43 -07:00
Steve a6a4a0fd24 v5.0.0-27 2015-05-29 23:04:55 +00:00
Steve Heffernan 2e7821a467 Merge pull request #2210 from psharmz/doc_fix
Small fix sandbox example file instructions
2015-05-29 16:03:16 -07:00
Matthew McClure 9c33bd72c7 @mmcc switched to using button elements for button components. closes #2209 2015-05-29 15:56:45 -07:00
heff c3c4046317 Added a line to the change log for #2217
--skip-ci
2015-05-29 15:41:44 -07:00
heff 2af3047467 v5.0.0-26 2015-05-29 22:41:13 +00:00
heff 2bda7aabcd Reverted .video-js inline-block style to fix Flash fullscreen [fixes #2205] 2015-05-29 15:31:57 -07:00
Parul Sharma 6ad6d17efb small fix in instruction in sandbox doc 2015-05-29 10:01:44 -04:00
heff 7ea3566a8c v5.0.0-25 2015-05-29 02:51:59 +00:00
heff 8d768ef0ab Switched lodash to use the compat version for IE8 support 2015-05-28 18:20:06 -07:00
heff 3bf01d9a41 v5.0.0-24 2015-05-28 18:05:09 +00:00
heff a88e311214 Fixed a number of IE8 and Flash issues from 5.0 changes
IE8 compatiblity fixes - Babel loose mode and ES5-shim

Reverted to old isPlainObject to fix IE8

Lodash.isplainobject was throwing a "Member not found error" on elements,
specifically the 'custom' track element being passed in options.

(turned out to be that we were using lodash modern, not compat)

Fixed full-window mode in IE8 by fixing fullscreen API check

Fixed the swf events by creating the object in component.createEl
fixes #2184

Added es5 shim and sham to the sandbox example
related to #1687
2015-05-28 11:00:08 -07:00
heff fb5d0ce6ad v5.0.0-23 2015-05-27 18:44:33 +00:00
heff 7c169d417c Fixed instances of tabIndex that did not have a capital I [#2176] 2015-05-27 11:42:01 -07:00
heff fdd133906c v5.0.0-22 2015-05-23 00:29:46 +00:00
heff a5758019e5 Updated the ready event to always be async
closes #1667

Fix text track tests.
Now that ready is async, we need to tick the clock so the ready handler
fires.

Remove unneeded ready test
2015-05-22 17:27:15 -07:00
heff 1ff361a825 Reverted an error in src() from the default args update 2015-05-21 20:42:25 -07:00
David 27ee448e1f v5.0.0-21 2015-05-22 02:50:34 +00:00
David LaPalomento 0ad43fd576 update the swf to v4.7 2015-05-21 19:47:44 -07:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 21edde8702 v5.0.0-20 2015-05-22 00:09:43 +00:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 6b2dca32fc Normalise lang codes to lowercase for insensitive match
Use primary code ('en') if specific code ('en-us') doesn not match
Always re-merge languages

closes #2177

Updated language function to lowercase internally

Updated component.localize to not require stubbing
2015-05-21 17:07:13 -07:00
Matthew McClure 4007add5e5 Moved to pure css slider handles
closes #2132

removed slider handle classes

Got rid of left-over handle styles
2015-05-21 13:43:53 -07:00
heff 7c5206eaf9 v5.0.0-19 2015-05-21 18:36:46 +00:00
heff 1bfe0b4fed Clean up and documentation of src/js/video.js and DOM functions
Preparing to export utility functions on the videojs object

closes #2182

Change el() to getEl() for consistency

Cleaned up DOM functions library

Clean up and document videojs object API

Fixed mergeOptions to modify the first object instead of a copy

More cleanup of the main video.js file and documentation

Fixed issues with mergeOptions

Cleaned up the addLanguage function

Removed unnecessary underscores in private module vars
2015-05-21 11:33:12 -07:00
eXon 5d550ffada Additional tech 2.0 improvements from #2126
closes #2166
closes #2126

this.tech.emitTapEvents(); should be handled by the tech

De-dupe the bufferedPercent code in both Tech and Player

Have the player generate the tech ID

Added autoplay/preload/loop/muted to tech option

Remove the watch for native timeupdates

Fixed the JSDoc for bufferedPercent

Removed the unit test for native timeupdate

Added cute whitespaces

buffer should always return a TimeRange
2015-05-21 11:19:33 -07:00
Matthew caf725a3d4 v5.0.0-18 2015-05-19 18:25:29 +00:00
Matthew McClure 11d9d9afe8 last use of inherited registerComponent removed 2015-05-19 11:10:17 -07:00
David 69a4884880 Release v4.12.7 2015-05-19 16:57:12 +00:00
David LaPalomento fbdf7ef041 @dmlap update swf to 4.7 to pick up preload fix. closes #2170 2015-05-19 12:43:22 -04:00
Brandon Bay c4717ebed9 @bc-bbay update time display on loadedmetadata. closes #2151 2015-05-19 12:02:34 -04:00
heff b2311c7664 v5.0.0-17 2015-05-19 00:57:10 +00:00
heff 1ffb13a799 Fixed all uses of registerComponent that relied on __proto__ inheritance 2015-05-18 17:35:21 -07:00
heff dc083f8cf4 v5.0.0-16 2015-05-16 01:25:32 +00:00
heff a8ff970d4a Broke up Lib and Util into smaller libraries of functions
Broke out bind, guid, and element data functions from Lib

Separated out more dom functions in to dom.js

Broke out URL functions into url.js

Removed setLocalStorage since it wasn't being used

Moved browser tests out of lib

Moved log functions into their own file

Removed trim() since it wasn't being used

Moved formatTime into its own file

Moved round into its own file and renamed roundFloat()

Moved capitalize into its own file and renamed as toTitleCase()

Moved createTimeRange into its own file

Removed Lib.arr.forEach infavor of the native forEach

Removed Lib.obj.create in favor of native Object.create (ES6-sham)

Removed obj.each in favor of native Object.getOwnPropertyNames().forEach()

Removed obj.merge and copy. Using lodash.assign instead.

Replaced Lib.obj.isPlain with lodash.isPlainObject

Removed Lib.obj.isArray in favor of the native Array.isArray

Also removed the lib.js tests file as all tests have been moved
or removed.

Removed Lib.isEmpty in favor of !Object.getOwnPropertyNames().length

Switched Util.mergeOptions and deepMerge to use new mergeOptions()

Moved Lib.TEST_VID to Html5.TEST_VID

Removed Lib references everywhere. Woo!

Attempting to fix sourcemap test errors by setting grunt-browserify version

Switched to object.assign from lodash.assign

Removed unused 'inherits' dependency

Reorganzied test files and added '.test' to file names

Combined js/core.js and js/video.js

Moved events.js into the utils directory
2015-05-15 18:20:35 -07:00
Chris Rebert 2bf0be72f3 build: bower.json: remove moot version field
Per https://github.com/bower/bower.json-spec/commit/a325da3d79baab018c572d75dc1781b12322f6cd

closes #2144

bower.json: main: fix path to video.js

bower.json: main: video-js.css => video-js.scss

Per https://github.com/bower/bower.json-spec/pull/43 :
> Use source files with module exports and imports over pre-built distribution files.

Also, the example in that PR includes
/sass/motion.scss in and excludes
/dist/movement.css & /dist/movement.min.css
from its `main`.

bower.json: Set moduleType & use non-dist video.js

Again, see https://github.com/bower/bower.json-spec/pull/43
2015-05-13 22:59:22 -07:00
heff 349ff89541 v5.0.0-15 2015-05-14 05:47:16 +00:00
heff 2fc8968002 @heff added support for fluid widths, aspect ratios, and metadata defaults. closes #1952 2015-05-13 22:45:01 -07:00
Brandon Bay 652a44026f @bc-bbay fixed a bug where the player would try to autoplay when there was no source. closes #2127 2015-05-13 15:10:55 -07:00
heff ec53eda738 build: Added the temp directory to gitignore on stable for switching from master 2015-05-13 15:07:30 -07:00
Matthew 6128305cc3 v5.0.0-14 2015-05-13 05:02:43 +00:00
Matthew McClure 0e63261db6 Merge pull request #2145 from cvrebert/patch-3
bower.json: Remove font files from `main`
2015-05-12 22:00:53 -07:00
Chris Rebert c740115821 bower.json: Remove font files from main
Per https://github.com/bower/bower.json-spec/pull/43 :
> font files [...] are not `main` files as they are not entry-points.

(See also the new example in the spec)
2015-05-12 19:30:50 -07:00
heff d8e7d13fd0 build: Updated test configuration for new Savage testing 2015-05-12 14:05:08 -07:00
heff fbdb3f1ce2 v5.0.0-13 2015-05-12 20:17:33 +00:00
heff 4a62ebb042 Added travis vars for sauce testing 2015-05-12 13:15:24 -07:00
heff b87fb3ce32 v5.0.0-12 2015-05-12 19:42:16 +00:00
heff fd50bd0921 Update travis yml for Savage pull request testing 2015-05-12 12:39:57 -07:00
Matthew McClure db05a1b90d Added @tjenkinson background-color changes 2015-05-11 15:02:28 -07:00
Matthew McClure e1c0f9fc35 Merge pull request #2138 from tjenkinson/master
Added background-color to vjs-poster to remove transparent borders around scaled poster image
2015-05-11 15:00:10 -07:00
Gaurav 7bbbf992a9 Release v4.12.6 2015-05-07 19:10:14 +00:00
Gaurav Saxena 36956e20df @saxena-gaurav fixed a bug from disposing after changing techs. closes #2125 2015-05-06 14:45:50 -04:00
heff c5f5ea419e Added globals in jshintrc to fix errors from new jshint version 2015-05-06 14:43:14 -04:00
Gary Katsevman b65bad8f20 @gkatsev added get and set global options methods. closes #2115 2015-05-06 14:12:17 -04:00
eXon e5595b1e38 @eXon began Tech 2.0 work, improved how tech events are handled by the player. closes #2057
closes #1485
2015-05-06 14:02:01 -04:00
Brandon de843affb7 v5.0.0-11 2015-05-06 16:12:56 +00:00
Brandon Bay 9c99def186 @bc-bbay fixed instance where progress bars would go passed 100%. closes #2040 2015-05-06 12:10:57 -04:00
Matthew 793da0979a v5.0.0-10 2015-05-04 18:38:30 +00:00
Matthew McClure 540258181c Merge pull request #2116 from gkatsev/flash-globals
Get the flash tech working again
2015-05-04 11:36:42 -07:00
Gary Katsevman 1480018cfb Get the flash tech working again 2015-05-01 15:51:55 -07:00
Gary 9b71d6b7d8 v5.0.0-9 2015-05-01 21:18:08 +00:00
Gary Katsevman 102c6fb197 @gkatsev added a sensible toJSON function. closes #2114 2015-05-01 14:16:19 -07:00
Gary aa7f7709b1 v5.0.0-8 2015-05-01 21:01:43 +00:00
Gary Katsevman fd7b997ecd @gkatsev added error logging for bad JSON formatting. closes #2113 2015-05-01 13:59:52 -07:00
Gary Katsevman 90b2f5d6ac build: @gkatsev updated the Gruntfile to use ES6. closes #2106 2015-05-01 12:54:31 -07:00
Gary 87b8f8ec77 v5.0.0-7 2015-05-01 19:50:46 +00:00
Gary Katsevman 43a14291fa @gkatsev updated the component.js styles to match the new style guide. closes #2105 2015-05-01 12:48:28 -07:00
Matthew 75aa65ebae v5.0.0-6 2015-05-01 19:45:17 +00:00
Matthew McClure a392d6c933 @mmcc added back the captions settings styles. closes #2112 2015-05-01 12:43:37 -07:00
heff a6f4fb8ca7 build: Made prerelease task clearer and ignore build changes 2015-05-01 11:53:23 -07:00
Gary 90702a4f3e v5.0.0-5 2015-05-01 18:30:14 +00:00
Gary Katsevman 0b8bcbfba4 We want to call global setInterval not our own
When we changed to concise methods, we ended up creating a new function
that shadowed the global setInterval, setTimeout, clearInterval, and
clearTimeout methods. A recent change in babel exposed this bug.
2015-05-01 11:09:48 -07:00
heff d05967c561 Added a prerelease command for automatic prereleases 2015-05-01 09:24:35 -07:00
Deirdre 3e1b76c9fb v5.0.0-4 2015-04-30 21:54:23 +00:00
Deirdre b72f651a59 v5.0.0-3 2015-04-30 21:51:09 +00:00
Deirdre Connolly f84632e057 @dconnolly exported the missing videojs.plugin function. closes #2103 2015-04-30 14:49:22 -07:00
heff cc6c3daaed Fixed loading grunt tasks that don't start with 'grunt-' 2015-04-30 14:47:20 -07:00
heff cba2c54fb6 Fixed prerelease task to update master 2015-04-30 14:27:44 -07:00
heff ebf0aa1a06 v5.0.0-2 2015-04-30 14:20:13 -07:00
heff 915a6b90f2 Added a prerelease task to contrib.json 2015-04-30 14:17:16 -07:00
heff c7265e3d9d Merge branch 'master' into review-dmlap-test-and-build-improvements 2015-04-30 12:03:52 -07:00
heff 476b8a4cf8 Merge branch 'master' into review-eXon-feature/watchify
Conflicts:
	Gruntfile.js
2015-04-30 11:44:57 -07:00
heff a131a00c4c Added a prerelease grunt task. Updated packages to correct version. 2015-04-29 16:21:05 -07:00
David LaPalomento 54519da32c Grunt improvements
Get test/index.html working when loaded directly into a browser. Remove extra browserifying via karma. Add timing info to to grunt output.
2015-04-29 15:02:14 -07:00
David LaPalomento b5968f13e2 @dmlap added an error message if techOrder is not in options. closes #2097 2015-04-29 14:05:22 -07:00
Steve Heffernan f7b1492332 Merge pull request #2088 from mmcc/add-scss-to-dist
Added scss files to dist folder
2015-04-29 13:19:40 -07:00
Matthew McClure 9e953a2681 removing scss from dist 2015-04-29 13:18:22 -07:00
Matthew McClure f21f840afb added scss files to dist folder 2015-04-29 13:16:18 -07:00
Steve Heffernan a40b0049ed Merge pull request #2096 from mmcc/heff-puts-dist-back-in-a-corner
Removing dist again in favor of some dark git magic
2015-04-29 12:48:18 -07:00
Matthew McClure dcb24ce744 Removing dist again in favor of some dark git magic 2015-04-29 11:09:17 -07:00
Brandon Bay bb9fde0f82 @bc-bbay rename onEvent methods to handleEvent. closes #2093 2015-04-29 10:17:46 -07:00
Brandon Bay 4fa6a942d9 @bc-bbay Load plugins before controls. closes #2094 2015-04-29 10:15:15 -07:00
jforbes 013d59db76 @forbesjo added a vjs-button class to button controls. closes #2084 2015-04-28 17:47:42 -07:00
Steve Heffernan 8e84adb612 Merge pull request #2087 from dmlap/minified-doc-updates
Update minified video.js name in guides and examples
2015-04-28 17:25:08 -07:00
David LaPalomento e234375168 Update minified video.js name
Change the docs to point to the new minified name for video.js. For #1013.
2015-04-28 17:00:10 -07:00
Steve Heffernan 258687fee4 Merge pull request #2086 from mmcc/nobody-puts-dist-in-a-corner
Nobody puts dist in a corner
2015-04-28 16:38:16 -07:00
Matthew McClure 1eae8697e6 Bumping to 5.0 prerelease 2015-04-28 16:04:12 -07:00
Matthew McClure 4cdca881d4 expose the dist file and derequire the bundle 2015-04-28 15:57:13 -07:00
Steve Heffernan cf25d3a857 Merge pull request #2085 from dfreamon/patch-1
Update the copyright
2015-04-28 15:16:23 -07:00
Darius Freamon b4fbdc24d5 update copyright 2015-04-28 16:14:05 -06:00
heff ae0eec312c Switched to box-sizing:border-box for all player elements
This doesn't immediately break anything (I know of) because the controls
were originally designed to work in both border-box and content-box
environments. Extra elements were added to create internally padding.

This does open the door for some simplification of the HTML, though the extra
elements could still be useful for extra skin design options.

closes #2082
closes #1444
2015-04-28 13:45:59 -07:00
jforbes 69738a86dc @forbesjo added the `scrubbing` property. closes #2080 2015-04-28 13:33:55 -07:00
heff f19d13b9bb @heff added and `extends` function for external subclassing. closes #2078 2015-04-28 11:50:09 -07:00
Gary Katsevman 94f33c8d43 @gkatsev removed event.isDefaultPrevented in favor of event.defaultPrevented. closes #2081 2015-04-28 11:45:06 -07:00
Matthew McClure 4ac762cf48 @mmcc added a new default skin, switched to SASS, modified the html closes #1999
- removed old less style. no going back now.
- switched back to video-js.scss naming and added a base-style injection class
- cleaned up and simplified big play btn
- Flexbox straight flexin.
- move to using variables for text and icon font families
- use table layout for IE 8 and 9
- moved to using extend for icons
- Switched to SASS, added a new default theme, updated the html
- added horizontal classes
- added connect-watch grunt task
- show all the things in the control bar so everything is available
  by default (and hidden via css
- reignore dist for now
- removing trailing comma to get the tests passing
- Switched to using libsass and removed incompatible "black magic"
- updating to es6 syntax
- removed old separator, added grunt task for dev, and updated example
- singular time-control and live-control. remove playing class on pause
- updated separator control styles
- Show full control bar when a player goes to fullscreen.
  Also added a grunt task specifically for skin development (only watches sass file changes and runs sass)
- allow poster image to toggle playback
- This allows the poster image to toggle play / pause on audio-only sources
- fixed issue with scrollbars in Chrome on Linux
- make the control bar not-quite-black
- added back some focus highlights until we decide on another path
2015-04-28 09:52:27 -07:00
Deirdre Connolly c62aa10637 @dconnolly replaced JSON.parse with a safe non-eval JSON parse. closes #2077 2015-04-27 17:05:39 -07:00
Matthew McClure 232daaed54 Merge pull request #1838 from mmcc/feature/control-bar-separator
Feature/control bar separator
2015-04-24 11:21:50 -07:00
Matthew McClure 4f52a47d7e generalized separator class and created specific insertion point class
split spacer into two files and converted to es6

insertion-point-spacer  -> custom-control-spacer
2015-04-24 11:21:26 -07:00
Matthew McClure 493f4d5df4 Created generic spacer component meant to make it easier to create
control bar layouts
2015-04-24 11:20:52 -07:00
eXon 621108ec03 Replaced grunt-watchify by watch option in grunt-browserify 2015-04-23 19:05:31 -04:00
eXon 65dddf7a0b Added watchify task 2015-04-23 06:43:50 -04:00
Matthew McClure e1e69941a1 @mmcc added ES6 default args and template strings. closes #2015 2015-04-22 15:26:37 -07:00
heff a02ee27802 @heff converted all classes to use ES6 classes. closes #1993 2015-04-14 13:08:32 -07:00
heff 7f70f09621 Added a line to the changelog for #1976 2015-04-03 17:05:14 -07:00
Steve Heffernan 6e29bccd01 Merge pull request #1976 from mmcc/es6ification
ES6ification
2015-04-03 17:02:05 -07:00
Matthew McClure f3036dd528 cleanup and fixed options shadowing in player 2015-04-03 15:25:58 -07:00
Matthew McClure 44953cf99b remove minified tests from grunt test task 2015-04-02 11:33:51 -07:00
Matthew McClure dfa791581f Check travis env before checking if it's a PR 2015-04-02 11:33:51 -07:00
heff 6e5fc8d687 More build and testing cleanup. Also some reorganization. 2015-04-02 11:33:51 -07:00
Matthew McClure 0c9d53321f Report test coverage analytics during test runs 2015-04-02 11:33:50 -07:00
heff f298d18023 Most of test conversion for es6ification 2015-04-02 11:33:50 -07:00
Matthew McClure 2e689f85e5 Starting ES6 conversion up to functional player 2015-04-02 11:33:50 -07:00
Steve Heffernan c9b53c5cfe Merge pull request #2001 from dmlap/changelog-for-1974
Update changelog for #1974
2015-04-02 09:04:46 -07:00
David LaPalomento 3fd1a58357 Update changelog
Add entry for #1974.
2015-04-02 10:30:29 -04:00
David LaPalomento 7a9c4cc3be Merge pull request #1974 from carpasse/feature/canhandlesource
Extended canHandleSource in media files to consistently guess mime types. Fixes #1833
2015-04-01 23:56:20 -04:00
Matthew McClure ed76c5b709 Lowercase .js for consistency 2015-04-01 16:51:14 -07:00
Matthew McClure 6cc1b5191b Update README to warn about master being for 5.0 2015-03-30 16:48:04 -07:00
Steve Heffernan 634d8c39f2 Merge pull request #1964 from LagunaCompany/patch-2
Fix spelling error in component.js
2015-03-30 12:49:46 -07:00
Matthew McClure 4805e41ee0 Merge pull request #1927 from juniorlisboa/master
Legend in pt-Br is wrong.
2015-03-30 12:47:21 -07:00
Carlos Pastor f69a229224 Extended getFileExtension test cases 2015-03-25 12:40:10 +01:00
Carlos Pastor 213c23d097 Added getFileExtension to libs. Extended canHandleSource in media files to consistently guess mime types. Fixes #1833 2015-03-24 19:52:04 +01:00
LagunaCompany 4296a7da2d Update component.js
Fix minor typo in comments.
2015-03-21 08:28:30 +00:00
heff 12df63d7e7 Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.dev.js
	dist/video-js/video.js
	dist/video-js/video.novtt.dev.js
	dist/video-js/video.novtt.js
	package.json
2015-03-17 13:52:42 -07:00
heff 6786b70da1 Release v4.12.5 2015-03-17 20:47:00 +00:00
heff bccea74d23 Updated to videojs-swf v4.5.4 to fix a potential security issue. closes #1955 2015-03-17 13:41:21 -07:00
Matthew McClure cda6386e01 Added item for Bosnian, Serbian, Croatian translations 2015-03-16 12:47:56 -07:00
Matthew McClure 6b2e056ba6 Merge pull request #1897 from dn5/master
Added new translations (Bosnian, Serbian, Croatian)
2015-03-16 12:44:22 -07:00
Ole Laursen a0ce20c511 @OleLaursen added a Danish translation. closes #1899 2015-03-12 11:52:18 -07:00
Tamlyn Rhodes 89c7b868f6 Added doc entries for useractive and userinactive events
closes #1926
2015-03-12 11:47:59 -07:00
heff 9dea6bed33 @heff replaced Closure Compiler with Uglify for minification. closes #1940 2015-03-12 11:23:47 -07:00
David LaPalomento 93ea3cee1c @dmlap removed an ie6 hack for flash object embedding. closes #1946 2015-03-12 11:17:53 -07:00
Matthew McClure cd48d03945 @mmcc updated the slider to allow for vertical orientation. closes #1816 2015-03-12 11:16:09 -07:00
Junior Lisboa 855e0ccedb Legend in pt-Br is wrong. 2015-03-05 10:54:24 -03:00
heff 0020ba15b9 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
	dist/video-js/video.novtt.dev.js
	dist/video-js/video.novtt.js
2015-03-04 17:37:32 -08:00
heff 9009593297 Release v4.12.4 2015-03-05 01:16:06 +00:00
heff 5b944877ae Randomized the Google Analytics calls to stay under the limit. closes #1916 2015-03-04 17:12:52 -08:00
heff 999dd60ff4 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
	dist/video-js/video.novtt.dev.js
	dist/video-js/video.novtt.js
2015-02-27 17:16:52 -08:00
Matthew ab84de6960 Release v4.12.3 2015-02-28 01:10:21 +00:00
Matthew McClure 52e85e65fd added bin file for returning the current version 2015-02-27 17:06:01 -08:00
heff 20a4184ea7 @heff fixed setting the source to an empty string. closes #1905 2015-02-27 15:50:13 -08:00
heff 3fdef79b9b Merge branch 'stable' 2015-02-26 17:59:16 -08:00
heff 06b8541fdb Switched to grunt-aws-s3 for CDN uploads
closes #1800, closes #1658, closes #1855
2015-02-26 17:55:30 -08:00
heff 4003a4730d 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
	dist/video-js/video.novtt.dev.js
	dist/video-js/video.novtt.js
2015-02-26 16:45:40 -08:00
Matthew ed8ccf599b Release v4.12.2 2015-02-27 00:09:30 +00:00
Matthew McClure 972c8bd744 manually tag before github-release 2015-02-26 16:05:14 -08:00
Matthew McClure 6e6c9fe885 remove tagrelease and commit unstaged changes manually (github-release handles tagging) 2015-02-26 15:05:16 -08:00
Matthew McClure bbad7207a2 fixing undefined package reference in cdn-links task 2015-02-25 17:13:52 -08:00
Gary Katsevman 2a1f9f357f @gkatsev fixed disabling of default text tracks. closes #1892 2015-02-25 16:12:01 -08:00
Matthew McClure 0b392fa9f5 breaking grunt tasks out into separate files to clean up the main Gruntfile. Also removed unused requires from the primary Gruntfile and making sure they are in the appropriate task file. 2015-02-25 16:05:31 -08:00
dn5 2c6570a1a5 Added new translations (Bosnian, Serbian, Croatian)
// Commit to master
2015-02-25 23:38:20 +01:00
Matthew McClure 725fddbd66 Updated version in quickstart example 2015-02-24 17:59:36 -08:00
heff 550d44332b 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
	dist/video-js/video.novtt.dev.js
	dist/video-js/video.novtt.js
2015-02-19 16:32:34 -08:00
heff 8e372d7ffd Release 4.12.1 2015-02-19 16:32:05 -08:00
Gary Katsevman 14c94561a9 Only rely on selectedIndex to set select option.
Firefox recently added selectedOptions support, however, unlike chrome
and other browsers, they made it read-only and have it throw an error.
In my testing (via http://jsfiddle.net/vwvdywf9/), on various browsers and platforms, just using selectedIndex was sufficient to change the selected option.

closes #1877
2015-02-19 16:29:22 -08:00
Gary Katsevman 8b0966c1b4 Store text tracks on player not tech
Test keeping text tracks between tech loads.
This does break without the previous commit.

closes #1874
2015-02-19 12:28:26 -08:00
Steve Heffernan 7bcb1d218c Merge pull request #1876 from videojs/playback-rate-doc
playbackRate takes a number
2015-02-18 17:35:32 -08:00
David LaPalomento 82f897b4fd More details on playback rate
Describe how the playback rate value is interpreted and link to the standard.
2015-02-18 10:37:00 -05:00
David LaPalomento 9b0c6c66ea playbackRate takes a number
The playbackRate() function does not take a boolean, it takes a (double-precision) number.
2015-02-18 10:00:50 -05:00
heff bcf164fd99 Merge branch 'stable' 2015-02-17 17:05:16 -08:00
heff 5bd0338d2e Moved s3 config to environment variables 2015-02-17 17:04:42 -08:00
heff fbca5eae51 Removed dist files 2015-02-17 16:44:34 -08:00
heff dd24d17372 Release 4.12.0 2015-02-17 16:44:25 -08:00
heff 5bae2d88c3 Cleaned up inconsistencies in the changelog 2015-02-17 16:41:10 -08:00
heff b14c2f73b3 Fixed a track event error for Android 2.3 2015-02-17 14:32:41 -08:00
heff f27df10920 Fixed a controls test on the iPhone
On the iphone the controls attribute of the video element is always true.
2015-02-17 13:49:32 -08:00
heff f96803a806 Fixed a poster test for IE11 2015-02-17 13:09:19 -08:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 b2fe4c6292 @mister-ben fixed a woff warning in Firefox. closes #1870 2015-02-17 12:28:15 -08:00
Tom Jenkinson eb597d3660 Added background-color to vjs-poster to remove transparent borders around
scaled poster image
2015-02-16 11:58:13 +00:00
Gary Katsevman 52e6768526 @gkatsev fixed captions showing by default in Chrome and Safari. closes #1865 2015-02-13 16:23:55 -08:00
Gary Katsevman 4e5c28cc56 @gkatsev greatly improved text track support and implemented vtt.js as the webvtt parser. closes #1749 2015-02-13 15:19:02 -08:00
İbrahim Alkan 5c59849f30 @ragecub3 added a Turkish translation. closes #1853 2015-02-12 15:55:49 -08:00
Shoshomiga 4e9974165d @shoshomiga added a Bulgarian translation. closes #1849 2015-02-12 15:52:26 -08:00
Simone 3459381c2a @iSimonWeb added font-path variable. closes #1847 2015-02-12 15:48:45 -08:00
Gavin 1036338134 @DevGavin fixed the Chinese translation. closes #1841 2015-02-12 15:43:13 -08:00
Nathan Woltman 265ed0eca2 @woollybogger exported the hasClass function. closes #1839 2015-02-12 15:35:09 -08:00
David LaPalomento 5e371b4625 @dmlap Add network and ready state properties. closes #1854 2015-02-12 18:26:32 -05:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 3742afe607 Add vjs-ended class when playback reaches the end of the timeline. closes #1857 2015-02-12 18:15:44 -05:00
Matthew McClure fd24c5c7a3 lowered tap movement and tap time thresholds
or, you know, actually change the threshold

updated component test to account for smaller touchmove threshold

closes #1830
2015-02-12 14:34:07 -08:00
Steve Randy Tantra fbb2197dfa @steverandy fixed an issue with scrolling over the player on touch devices. closes #1809 2015-02-12 12:01:20 -08:00
Ryo Chikazawa 19058302bd @chikathreesix fixed an object delete error in Chrome. closes #1858 2015-02-11 11:12:54 -08:00
kedar2a 789c72945a Added bower install information. Closes #1840 2015-02-09 16:45:24 -08:00
David LaPalomento f980cdb1fb Hide the poster when play fires. closes #1834 2015-02-09 12:11:00 -05:00
David LaPalomento 42fbd4c799 Export video.js as a named AMD module. closes #1844 2015-02-05 09:57:59 -05:00
Matthew McClure b0a589a800 Merge pull request #1842 from steveluscher/patch-1
“affect” => “effect” in options guide
2015-02-03 16:53:25 +00:00
Steven Luscher e5ca608fc0 “affect” => “effect” in options guide 2015-02-02 13:49:47 -08:00
heff cb0f93c27d Added contrib release commands for patch and minor 2015-02-02 00:55:13 +01:00
Matthew McClure d5bbd80db9 Reference videojs not vjs
`vjs` isn't exported, so this was causing confusion. Update to use `videojs`.
2015-01-26 09:27:40 -08:00
heff 1a11a8f256 Added contrib save command and cleaned up config 2015-01-23 17:35:22 -08:00
heff ec88f32702 Added npm install to the contrib release process
Fixed contrib branch delete
2015-01-23 10:57:36 -08:00
heff 2489cc1c10 Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.dev.js
	dist/video-js/video.js
2015-01-23 10:50:49 -08:00
heff aac97d287a Release 4.11.4 2015-01-23 10:50:22 -08:00
Lee Whitaker 3c83fd364d Update swf version to 4.5.3
closes #1823
2015-01-23 10:42:40 -08:00
Artem Suschev c8781cf51b @H1D fixed an issue with file extension type detection. closes #1818 2015-01-21 17:55:35 -08:00
Steve Heffernan 8777b7f7a9 Merge pull request #1819 from thijstriemstra/master
document the error event
2015-01-21 17:43:50 -08:00
David LaPalomento 4bde5c8928 Don't always add controls to the video element
Fix for #1561. If the HTML tech is being constructed without a video element to work off of, make sure that the controls attribute is only added under the same circumstances it would be at player init. Before this fix, if you loaded the Flash tech and then switched to the HTML tech, you would see the native controls underneath the video.js controls.

Fix controls attribute test on iOS
iOS uses native controls by default and so was failing the assertions that native controls weren't used. Force custom controls for this test case to make it work like everywhere else.

Update nativeControlsForTouch default
The default value changed so fix the predicate that tested for whether it was in use.

closes #1811, closes #1564, closes #1561
2015-01-21 17:35:55 -08:00
Thijs Triemstra fb3758dcab doc fix 2015-01-22 01:55:42 +01:00
Matthew McClure 78e95e14b8 @mmcc fixed an issue with text track hiding introduced in #1681. closes #1804 2015-01-21 16:44:59 -08:00
Matthew McClure 67c4eed937 @mmcc added a VERSION key to the videojs object. closes #1798 2015-01-21 16:37:13 -08:00
Toni Hermoso Pulido 300eeb759c @toniher added a Catalan translation. closes #1794 2015-01-21 16:25:50 -08:00
heff 2805bb0ad3 Updated contrib.json to support contrib install 2015-01-21 13:36:27 -08:00
Thijs Triemstra 4e2b4a215c document the error event 2015-01-21 17:11:43 +01:00
heff b51d83090b Added a line to the changelog, closes #1814 2015-01-20 11:01:05 -08:00
Carlos 0f4b19b94c Fixed problem with removing component
Component.id and Component.name are functions
we should either call the functions or pass component.id_ and component.name_
2015-01-20 10:58:25 -08:00
Bryce Fisher-Fleig e8030ea88f @brycefisher Added a guide on player disposal. closes #1803 2015-01-16 15:52:34 -08:00
Gary Katsevman 1c17a67f39 Fixed issue where ManualTimeUpdatesOff was not de-registering events. closes #1793 2015-01-16 12:05:21 -08:00
heff e8235c9022 Fixed type support checking for an empty src string. closes #1797 2015-01-16 11:43:58 -08:00
heff a3b12d9d03 Exported missing source handler functions. closes #1787 2015-01-12 14:28:22 -08:00
Matthew McClure a8d1ef114a Merge pull request #1795 from rusikf/patch-1
update 4.10 to 4.11 version in README
2015-01-12 10:33:11 -08:00
Ruslan Korolev 2ea2421e18 update 4.10 to 4.11 version in README [ci skip] 2015-01-12 13:19:43 +03:00
Steve Heffernan 67e2c0ff76 Merge pull request #1768 from moshoujingli/feature/fix_typo
Delete the duplicated 'a'
2015-01-05 11:19:59 -08:00
Bixiaopeng b2c3e2d759 Delete the duplicated 'a' 2014-12-24 18:02:04 +09:00
David LaPalomento c939ab86ca @dmlap fixed URL parsing in IE9. closes #1765 2014-12-23 08:25:49 -08:00
Steve Heffernan a96978b194 Merge pull request #1747 from thijstriemstra/master
Add plugin localization doc
2014-12-22 11:30:31 -08:00
heff fff41a9066 Added a line to the changelog for #1741 2014-12-22 11:17:15 -08:00
Jacques Caron 3780f8dbce Prevent menus from opening while scrubbing 2014-12-22 10:51:34 -08:00
Jacques Caron 24dff158fa Add vjs-scrubbing class to player while scrubbing 2014-12-22 10:51:34 -08:00
Sxmanek 9c1e410660 @Sxmanek added a Czech translation. closes #1739 2014-12-22 10:44:53 -08:00
Nguyễn Văn Ánh 8cf9f19c11 @anhskohbo added a Vietnamese translation. closes #1734 2014-12-22 10:15:50 -08:00
heff f0d500a633 Updated #1730 to use the ready function instead of warning.
Added a line to the changelog for #1730.
closes #1730
2014-12-22 09:54:21 -08:00
45aff0062cf1b0e55a6532b0a513db6be3952d17 fc0730db98 Warning for previously updated players; doc update 2014-12-22 09:46:48 -08:00
Matthew McClure a67201f913 @mmcc updated the hide/show functions to use a class instead of inline styles. closes #1681 2014-12-22 09:38:54 -08:00
heff a048468100 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
2014-12-19 14:18:16 -08:00
heff 881be6f77d Release 4.11.3 2014-12-19 14:17:50 -08:00
heff c6d51faba3 Added a line to the changelog for #1755 2014-12-19 14:11:26 -08:00
matteo 169b4984e5 Fix rtmp rtmpSourceHandler calls to tech 2014-12-19 14:09:42 -08:00
heff 45b3601465 Added a line to the changelog for #1753 2014-12-19 14:05:58 -08:00
matteo e2c5462395 Export tech.setSetsource method for Html5 and Flash 2014-12-19 14:04:46 -08:00
heff 5545fc33e1 Added a line to the changelog for #1760 2014-12-19 13:58:11 -08:00
Greg Kraus 16d945c7ab moved event.preventDefault() inside of if-then structure 2014-12-19 13:51:11 -08:00
heff 716fc2dc2b 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
2014-12-17 16:13:27 -08:00
heff ad3e430cc6 Release 4.11.2 2014-12-17 16:12:38 -08:00
Gary Katsevman d7f2924fdc Make sure that setSource is directly on prototype
This is to make the new source handlers backwards compatible and so it
wont break techs that extend existing techs that were converted to use
source handlers. closes #1746
2014-12-17 15:07:37 -08:00
Matthew McClure bb5582abd3 Add the playback rate menu to the content el. closes #1716, fixes #1712 2014-12-17 14:29:05 -08:00
Thijs Triemstra 9307844f79 doc update 2014-12-17 14:05:22 +01:00
Thijs Triemstra 9141a6256f add plugin localization doc 2014-12-17 00:06:06 +01:00
Steve Heffernan 2683c74c69 Merge pull request #1743 from PeterDaveHello/patch-1
Use svg instead of png to get better image quality
2014-12-13 23:25:20 -08:00
Peter Dave Hello c3139dcc1d Use svg instead of png to get better image quality 2014-12-14 13:16:48 +08:00
Peter Dave Hello a859575e62 @PeterDaveHello added a Traditional Chinese translation. closes #1729 2014-12-09 12:47:46 -08:00
heff aeecca728e 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
2014-12-04 14:06:38 -08:00
heff daa66b9183 Release 4.11.1 2014-12-04 14:05:50 -08:00
heff 3d16a4378c @heff fixed a code bug in track XHR requests. closes #1715 2014-12-04 14:03:36 -08:00
heff d37e5c903f Removed dist files 2014-12-04 13:29:50 -08:00
heff 0469c5063c Release 4.11.0 2014-12-04 13:29:40 -08:00
heff dd9b4df727 @heff updated the SWF to the latest version. closes #1714 2014-12-04 13:24:05 -08:00
Steve Heffernan 0960a6108b Merge pull request #1713 from gkatsev/jshint-all-the-things
Make sure jshint checks all js files
2014-12-04 12:44:34 -08:00
Gary Katsevman 68f32226db Make sure jshint checks all js files
Also, update all the files to pass jshint.
2014-12-04 15:38:20 -05:00
nemesreviz c2e0c89d4c @nemesreviz added a Hungarian translation. closes #1711 2014-12-04 11:50:21 -08:00
Gary Katsevman c111d30b45 @mmcc fixed the vdata exception when you dispose a player with tracks. closes #1710 2014-12-03 14:21:25 -08:00
Matthew McClure 1f6c5179d8 @mmcc added functions for better timeout and interval handling. closes #1642 2014-12-03 11:31:39 -08:00
Ahmad M. Zawawi ea7bf36588 @azawawi added an Arabic translation. closes #1692 2014-12-02 16:23:33 -08:00
Steve Heffernan 76e662a756 @heff added the Source Handler interface for handling advanced formats including adaptive streaming. closes #1560 2014-12-02 14:22:34 -08:00
Thijs Triemstra 8a019ee046 @thijstriemstra fixed a number of typos in the docs. closes #1704 2014-12-02 11:22:48 -08:00
heff 2de84da25f Added a line to the changelog for #1702 2014-12-02 10:53:43 -08:00
Steve Heffernan 899bc3cb76 Merge pull request #1702 from rafalwrzeszcz/fix/invalid-markup
Fixed Flash object tag markup for strict XML.
2014-12-02 10:51:23 -08:00
Rafał Wrzeszcz eaf8a8348f Fixed XML markup. 2014-12-02 14:31:07 +01:00
Steve Heffernan 157dcbe9dd Merge pull request #1677 from sonicd300/patch-1
Updated to bower.json to include font files
2014-11-25 15:51:08 -08:00
Dan Toloudis 33e6630712 @toloudis fixed an issue with checking for an existing source on the video element. closes #1651 2014-11-25 15:31:53 -08:00
heff 2e71201e23 Cleaned up slider.js from #1616 (commit 7605d8c) and added changelog item for #1616 2014-11-25 14:38:36 -08:00
rutkat 1211e6f99d Changed keyup to keydown for more responive key listeners. closes #1545, closes #1616 2014-11-25 13:42:34 -08:00
Matthew McClure 7642691296 Update components link to be relative
Updated the components link to be entirely relative so we don't have to worry about which branch we're talking about.
2014-11-24 13:00:22 -08:00
Victor D'Agata d6cf3c0d84 Update to bower.json
Added fonts to bower.json in order to work with bower-main-files plugin, you can tell the plugin if you don't want stuff, but you can't say include XYZ, besides fonts are being used in the css.
2014-11-19 18:56:34 -05:00
Matthew McClure caf44a4ad3 Merge pull request #1650 from SteveALee/docfix
Fixed broken link to components guide
2014-11-10 09:51:39 -08:00
Steve Lee fd2b9a7f38 Fixed broken link to components guide 2014-11-07 21:18:20 +00:00
Matthew McClure fc7cebe155 Update version numbers in quickstart guide. 2014-11-05 16:01:03 -08:00
Matthew McClure bd6a9ff08c Merge pull request #1634 from anttimo/feature/fix-broken-readme-links
Fix two broken links to documentation in README.md
2014-11-05 15:58:12 -08:00
Antti Moilanen 540152051f Fixed two broken links to documentation. 2014-11-01 16:57:02 +02:00
Steve Heffernan 889ad338cc 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
2014-10-30 17:25:51 -07:00
Steve Heffernan 0c2dad9ef3 Merge branch 'master' of https://github.com/videojs/video.js 2014-10-30 17:25:32 -07:00
Steve Heffernan 0919b77f31 Release 4.10.2 2014-10-30 17:25:22 -07:00
Steve Heffernan 758b9fda55 Fixed CDN links in setup guide 2014-10-30 17:24:09 -07:00
Matthew McClure 957687d449 @mmcc fixed localization of captions/subtitles menu off buttons. closes #1632 2014-10-30 17:21:58 -07:00
Steve Heffernan 768e40b169 Updated setup doc version url replacer to support multiple digit versions 2014-10-30 16:24:36 -07:00
Steve Heffernan 5d859a92b5 Fixed the VolumeMenuButton options to allow passing 'vertical' to the VolumeBar. closes #1631 2014-10-30 13:59:05 -07:00
Steve Heffernan 1325722447 @heff fixed checking for child options in the parent options to allow for `false`. closes #1630 2014-10-30 13:19:01 -07:00
Matthew McClure 48a0049350 Remove extra 10 2014-10-30 10:12:58 -07:00
Steve Heffernan 7432648e38 Merge branch 'stable' 2014-10-29 08:39:31 -07:00
Steve Heffernan f420c5bd5f Added line to changelog for 4.10.1 2014-10-29 08:39:00 -07:00
Steve Heffernan 423939857f 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
2014-10-29 08:36:40 -07:00
Steve Heffernan 7511bb606d Release 4.10.1 2014-10-29 08:36:16 -07:00
Steve Heffernan a12dd77057 Removed alert... 2014-10-29 08:31:13 -07:00
Steve Heffernan bcbe4f175a Removed dist files 2014-10-28 17:28:37 -07:00
Steve Heffernan 6958643678 Release 4.10.0 2014-10-28 17:28:25 -07:00
Steve Heffernan d55227668c @heff turned on the custom html controls for touch devices. closes #1617 2014-10-28 16:53:30 -07:00
Matthew McClure ce18a9af74 updated options to include sans-children, and included self-hosted font blurb
updated used by count
2014-10-28 16:48:29 -07:00
Matthew McClure a70b9e4957 added CORS information to tracks guide. Fixes #837
moar magic comments
2014-10-28 16:48:23 -07:00
Matthew McClure 38f1024ad3 doc updates + readme quick start 2014-10-28 16:48:23 -07:00
Matthew McClure 6093d35b4c updated options guide to include components 2014-10-28 16:48:23 -07:00
Steve Heffernan 330aed03c6 Merge pull request #1605 from mmcc/hotfix/keyboard-location
maybe actually check for keyLocation
2014-10-28 11:47:32 -07:00
Steve Heffernan f27bdd27ca @heff Added the ability to set options for child components directly in the parent options. closes #1599 2014-10-28 11:45:32 -07:00
Steve Heffernan 4199c3e5a9 Merge pull request #1598 from pascuals/patch-1
Update languages.md
2014-10-28 11:38:35 -07:00
Gavin fdb34f3179 @DevGavin added a Simplified Chinese translation. closes #1593 2014-10-28 11:29:05 -07:00
Matthew McClure f5117ae976 @mmcc fixed an issue with the VolumeButton assuming it was vertical by default. closes #1592 2014-10-28 11:19:34 -07:00
Steve Heffernan 4b818d9ebf @heff enhanced the event listener API to allow for auto-cleanup of listeners on other componenets and elements. closes #1588 2014-10-28 11:16:56 -07:00
Matthew McClure b8cc047a2e @mmcc fixed an issue where errors on source tags could get missed. closes #1575 2014-10-28 11:00:49 -07:00
Steve Heffernan 906de96632 Merge branch 'stable' 2014-10-28 10:35:56 -07:00
Steve Heffernan d0a918404f Added doc for remaining time and removed onWaitEnd doc 2014-10-28 10:20:39 -07:00
Matthew McClure a35da3e995 maybe actually check for keyLocation 2014-10-22 15:34:58 -05:00
pascuals d63912dd35 Update languages.md
Spanish translations are not updated
2014-10-20 15:19:43 +02:00
Steve Heffernan 1369e17dc9 Merge pull request #1577 from demersdesigns/master
Adding reference to generator-videojs-plugin
2014-10-16 13:03:15 -07:00
Steve Heffernan af02d158da @heff updated the poster to use CSS styles to display; fixed the poster not showing if not originally set. closes #1568 2014-10-16 12:59:41 -07:00
Steve Heffernan a6019d4207 Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.js
2014-10-15 16:08:26 -07:00
Steve Heffernan b848fd736d Release 4.9.1 2014-10-15 16:07:59 -07:00
Steve Heffernan b619404069 Bumped to videojs-swf v4.5.1 to fix a data sanitization issue. closes #1587 2014-10-15 16:04:18 -07:00
Steve Heffernan 5e82f52a17 Fixed the contrib patch start command 2014-10-15 15:53:49 -07:00
Paul Demers 4711895d43 Adding reference to generator-videojs-plugin 2014-10-10 20:49:15 -04:00
Thijs Triemstra 375cc1ecf9 @thijstriemstra added a Dutch translation. closes #1566 2014-10-06 12:45:45 -07:00
OlehTsvirko 0b75b0f843 @OlehTsvirko added a Russian translation. closes #1563 2014-10-06 12:39:45 -07:00
OlehTsvirko 2e3d2417fb @OlehTsvirko added a Ukrainian translation. closes #1562 2014-10-06 11:26:27 -07:00
Jan Hesse 33f7805c2b @andekande improved the German translation. closes #1555 2014-10-06 11:18:17 -07:00
aptx4869 5e70bef2ab @aptx4869 fixed an issue where the native JSON parser wasn't used. closes #1565 2014-10-06 11:16:08 -07:00
Steve Heffernan 064ab1166b Removed dist files 2014-09-30 18:51:58 -07:00
Steve Heffernan 85730d7a1b Release 4.9.0 2014-09-30 18:51:46 -07:00
Matthew McClure 18b6d25bc7 @mmcc added support for audio tags (html5 audio only). closes #1540 2014-09-30 18:34:51 -07:00
Steve Heffernan 8273809a18 Added a line to the changelog for #1519. closes #1519 2014-09-30 16:28:36 -07:00
Steve Heffernan 9bfe3fe5ae Merge branch 'review-rpless-feature/accessible-volume-menu' 2014-09-30 16:26:57 -07:00
Steve Heffernan ce97c24d79 @heff updated to swf v4.5.0 to fix event issues. closes #1554 2014-09-30 16:16:36 -07:00
Craig Rogers 9b7882e395 @twentyrogersc fixed the return value when setting the poster source. closes #1552 2014-09-30 15:38:22 -07:00
Philip Giuliani 6c4eac47a0 @philipgiuliani added an Italian translation. closes #1550 2014-09-30 15:31:26 -07:00
Matthew McClure 13f154d4d6 @mmcc made it possible to override the font-size of captions and subtitles. closes #1547 2014-09-30 15:27:05 -07:00
Matthew McClure e526c9335d @doublex fixed an issue with IE7 backwards compatibility. closes #1542 2014-09-30 15:15:40 -07:00
Steve Heffernan 61aee3376b Added a line to the changelog for #1533 2014-09-30 14:59:36 -07:00
Steve Heffernan 27d32d52c9 Exported the videojs.Flash.version method for use in external techs 2014-09-30 14:57:29 -07:00
Ryo Chikazawa ba7871dc5d Export videojs.Flash.embed 2014-09-30 14:49:50 -07:00
Steve Heffernan 675856aaf6 Reorganized the volume menu button styles and removed some duplicate definitions 2014-09-30 14:01:38 -07:00
Tom Johnson 6040a61498 @seniorflexdeveloper added new translations and translation updates. closes #1530 2014-09-29 16:38:09 -07:00
Steve Heffernan 64f3b7774c Fixed a spelling error in the player docs. closes #1528 2014-09-29 16:21:20 -07:00
Ryo Chikazawa f47bf26e49 @chikathreesix fixed an issue where data-setup options could be missed. closes #1514 2014-09-29 16:13:07 -07:00
Tetsuya Morimoto e0a124890b @t2y added a Japanese translation. closes #1497 2014-09-29 16:08:14 -07:00
Alex 585befce81 @alexrqs cleaned up the Spanish translation. closes #1494 2014-09-29 16:02:57 -07:00
Stephen d93bea98d7 @mynameisstephen fixed an issue where slider event listeners were not cleaned up. closes #1475 2014-09-29 15:55:51 -07:00
baloneysandwiches fd181aa9cd @baloneysandwiches added a hasClass method. closes #1464 2014-09-29 15:46:18 -07:00
Steve Heffernan 2a71d69c72 Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.js
2014-09-25 14:18:03 -07:00
Steve Heffernan c0518a1ff0 Release 4.8.5 2014-09-25 14:15:59 -07:00
Steve Heffernan bb52851aa4 Updated to the latest version of the swf to fix HLS playback. closes #1538 2014-09-25 14:09:25 -07:00
Ryan Plessner f53583e275 Hide the volume bar by setting its content's width to zero. 2014-09-25 11:02:06 -04:00
Steve Heffernan a2710b60f1 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
2014-09-23 16:26:06 -07:00
Steve Heffernan 2b57ada7df Release 4.8.4 2014-09-23 16:21:59 -07:00
Gary Katsevman d43831d6d0 @gkatsev fixed isFullscreen reporting on iOS devices. closes #1511
Squashed commit of the following:

commit 02fe7a40d0958e2ed84a6a0cf2be43bec259c72c
Author: Gary Katsevman <git@gkatsev.com>
Date:   Tue Sep 23 14:15:08 2014 -0400

    Feature detect old fullscreen instead of UA switch

commit f3eccbbe678c163021d790c69c3ab365e0a1fe1a
Author: Gary Katsevman <git@gkatsev.com>
Date:   Mon Sep 22 21:31:34 2014 -0400

    No need for if since assume we're in fs

commit 0498b100843e0aa858b166d02a467e4471c126ab
Author: Gary Katsevman <git@gkatsev.com>
Date:   Mon Sep 22 21:28:10 2014 -0400

    Revert "Don't trigget vjs's fullscreenchange event"

    This reverts commit cc45177ee5fa950e665e066d170b137aaeb6e398.

    Conflicts:
    	src/js/media/html5.js

commit 1ed30853efb2ea043da4f18b4fdf75da15f55e88
Author: Gary Katsevman <git@gkatsev.com>
Date:   Wed Sep 17 12:00:29 2014 -0400

    Listen via 'this.one'.
    Don't bother checking whether the video element is fullscreen but just
    assume we are fullscreen.

commit 27e27075083d2ad408b5d47055881b2554f59154
Author: Gary Katsevman <git@gkatsev.com>
Date:   Tue Sep 16 18:12:36 2014 -0400

    Use one for event binding.

commit cc45177ee5fa950e665e066d170b137aaeb6e398
Author: Gary Katsevman <git@gkatsev.com>
Date:   Mon Sep 15 17:28:46 2014 -0400

    Don't trigget vjs's fullscreenchange event
    This event isn't really being used for this usecase right now, so, no
    need to trigger it.

commit ad505a680785d638289657aec4edad60879e945a
Author: Gary Katsevman <git@gkatsev.com>
Date:   Mon Sep 15 16:45:48 2014 -0400

    Update exports for request & cancel fullscreen

commit e423635b6c8ad58a1ba04e1534a51c075e08b73a
Author: Gary Katsevman <git@gkatsev.com>
Date:   Mon Sep 15 16:15:10 2014 -0400

    On iOS, use ios specific enterFullscreen methods.

commit fe4a8fbf6ad73b6bc8f57d16c44f0ca4d3bf9450
Author: Gary Katsevman <git@gkatsev.com>
Date:   Mon Sep 15 14:53:20 2014 -0400

    Export isFullScreen correctly. Export isFullscreen as well.
2014-09-23 15:17:01 -07:00
Steve Heffernan 72cb71c3a5 Updated contrib.json to match new prompt formatting 2014-09-23 13:28:45 -07:00
Steve Heffernan ded72386ca Updated contrib.json to comply with new contrib formatting 2014-09-23 13:28:36 -07:00
Ryan Plessner 757c592b4a reverted the submenu behavior. it now needs to activated before it menuitems become tab targets. The volume control bar now uses the vjs-lock-showing class instead of new class. 2014-09-23 15:26:09 -04:00
Steve Heffernan 737b989d5e Removed dist files 2014-09-22 16:13:39 -07:00
Steve Heffernan ae04900c54 Release 4.8.3 2014-09-22 16:13:03 -07:00
Steve Heffernan 518614ca57 Added line to the changelog for #1526 2014-09-22 16:10:18 -07:00
Steve Heffernan 0ef6b4af73 Updated to version 4.4.4 of the swf 2014-09-22 16:04:02 -07:00
Daniel Roviriego ca1fdbb238 @deedos added a Brazilian Portuguese translation. closes #1520 2014-09-22 11:12:13 -07:00
Ryan Plessner 53d690c212 Changed the MenuItem and the Volume Control bar to gain focus when using tab navigation.
Previously, they could not be navigated to via the keyboard.
Fixs #1517.
Tested via manaul cross-browser tests using keyboard navigation (chrome, firefox, safari, and IE 11 ).
2014-09-19 13:58:19 -04:00
Steve Heffernan 186ead6b10 Updated contrib.json to match new prompt formatting 2014-09-17 11:53:41 -07:00
Steve Heffernan 4b64a92a2d Updated contrib.json to comply with new contrib formatting 2014-09-17 11:41:49 -07:00
Steve Heffernan b65f2da65e 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
2014-09-16 16:42:25 -07:00
Steve Heffernan ee7c962494 Release 4.8.2 2014-09-16 16:38:42 -07:00
Steve Heffernan 05c18b7049 Added line to the changelog for #1512 2014-09-16 14:56:16 -07:00
Gary Katsevman 53ea60cd06 fixes #1512, fixes #1507
On ended, pause player if not paused or looping
IE11 (and maybe other browsers as well) only fire 'ended' event when the
video ends and doesn't fire pause. This makes IE11 not reset it's state
into a paused state that allows a user to replay immediately. However, a
two clicks on the play/pause button will allow you to replay.
In Chrome, we get first a pause event and then an ended event. When
'loop' is set, neither the last pause nor ended fire.
In the flash tech, the pause and ended events fire like in chrome in all
browsers.

Add tests for onEnded change

Appease jshint.
2014-09-16 14:53:46 -07:00
Matthew McClure cc5b2b838e Merge pull request #1489 from walsh9/feature/doc-link-fix
Fix broken link in CONTRIBUTING.md
2014-09-15 11:30:07 -07:00
Matthew Walsh 25044e34b0 Fix broken link in CONTRIBUTING.md
The link titled "Build and share plugins" goes to docs/plugins.md, which
doesn't exist. It should go to docs/guides/plugins.md
2014-09-07 20:26:56 -04:00
Steve Heffernan 2219cd0f01 Updated travis YML to exclude success messages from IRC 2014-09-05 15:25:32 -07:00
Steve Heffernan 9dc4ed29f2 Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.less
	dist/video-js/video-js.min.css
	dist/video-js/video.dev.js
	dist/video-js/video.js
2014-09-05 14:59:25 -07:00
Steve Heffernan 18965bb8d7 Release 4.8.1 2014-09-05 14:58:12 -07:00
Steve Heffernan 3a1239df1e Added a line to the changelog for #1488 2014-09-05 14:53:40 -07:00
Steve Heffernan 49197e4f0e Merge branch 'hotfix/fullscreen-deprecations' into stable 2014-09-05 14:52:15 -07:00
Steve Heffernan 08da4c889f Added a line to the changelog for #1467 2014-09-05 14:50:00 -07:00
Steve Heffernan 1ff1d76a8c Merge commit 'a582c833e34c227ff29b707bad9cd4857f32c877' of github.com:MrVaykadji/video.js into french 2014-09-05 14:48:05 -07:00
Steve Heffernan 5abff360cc Added back missing deprecated fullscreen functions, and fixed a warning from using a deprecated method internally.
fixes #1451
2014-09-05 14:33:27 -07:00
Steve Heffernan 18be3ef9ac Added a line to the changelog for #1487 2014-09-05 14:31:20 -07:00
Matthew McClure 864432d7d3 updated styles for error messages and made poster absolutely positioned by default 2014-09-05 13:59:27 -07:00
Steve Heffernan 6c2efbf999 Added a line to the changelog for #1483 2014-09-05 13:53:11 -07:00
David LaPalomento eec1fc13fe Move language methods into externs
Trying to create a player-like subclass of component requires overriding languages() but that method was being minified. Add it to externs so that it can be overridden after minification. Fixes #1420.
2014-09-05 13:50:13 -07:00
Steve Heffernan 54b175d988 Added line to the changelog for #1482 2014-09-05 13:42:06 -07:00
David LaPalomento b9181ee55b Make sure the error property is set before proxying through the tech.
Some error events don't cause the error property on the video element to be set. In that case, handle the event like any other. Fixes #1465.
2014-09-05 13:36:50 -07:00
David LaPalomento d385f8257f Fixes #1481
Clear out pending errors on player disposal.
Source selection errors are dispatched asynchronously so that there is an opportunity to override the error message. If the player is disposed during that period, the error timeout wasn't being cleared properly. Fix for #1480.

Fix whitespace
When defining variables inline with declarations, stick to one variable per line.
2014-09-05 13:32:15 -07:00
Steve Heffernan 0ac8bcd389 Removed dist files 2014-09-03 08:47:37 -07:00
Steve Heffernan 88f59d7ad6 Release 4.8.0 2014-09-03 08:43:58 -07:00
Steve Heffernan 1c84f37fa0 Updated contrib.json for contrib prompt changes 2014-09-03 08:36:46 -07:00
Steve Heffernan 7d4b26625f Fixed a broken playbackRate test on Android 2.3 2014-09-02 17:38:11 -07:00
Steve Heffernan 7ead5f708f Added a line to the changelog for #1473 2014-09-02 16:47:47 -07:00
Steve Heffernan 16640274d7 Merge branch 'hotfix/error-timeout-squashed' of github.com:mmcc/video.js into mmcc-hotfix/error-timeout-squashed 2014-09-02 16:43:01 -07:00
Steve Heffernan 5f7ae5a7ba Added a line to the changelog for #1470 2014-09-02 16:29:15 -07:00
Steve Heffernan f3925c7364 Changed to feature prefix over suffix to make it read more as a boolean 2014-09-02 16:22:43 -07:00
Steve Heffernan c90d7d36f6 Merge branch 'media-tech-features2' of github.com:gkatsev/video.js into gkatsev-media-tech-features2 2014-09-02 16:11:26 -07:00
Steve Heffernan 6f069b765c Added line to changelog for #1449 2014-09-02 15:22:17 -07:00
Steve Heffernan a6fa0dcc80 Merge branch 'the-N-Zone' of github.com:gkatsev/video.js into gkatsev-the-N-Zone 2014-09-02 12:50:10 -07:00
Matthew McClure e72d682028 added timeout fix and tests. 2014-09-02 12:39:08 -07:00
Gary Katsevman 599217f158 Update tests to grab/restore progressEventsFeature 2014-09-02 14:57:29 -04:00
Gary Katsevman e60f2eef5c Update media.js and html5.js feature access.
Due to #1415, various usage of features moved around. This makes sure
that features are now called directly on the tech everywhere.
2014-09-02 14:51:13 -04:00
Gary Katsevman 7caa2fc1a7 Append Feature to 'features'. Update tests. 2014-09-02 14:46:19 -04:00
Gary Katsevman c0f91674e4 Promote 'features' to the prototype 2014-09-02 14:44:58 -04:00
Gary Katsevman e6897b6219 Inherit tech 'features' from 'MediaTechController'
Use vjs.obj.create to inherit 'features' from
'MediaTechController.prototype.features'. Because we are inheriting, if
the defaults change (prototype.features), we can receive these updates
in our tech if we had not changed properties of features manually.
2014-09-02 14:41:27 -04:00
Steve Heffernan 65e4b9f167 Added line to the changelog for #1453
Moved grunt languages configuration to lower in the gruntfile.
2014-09-02 11:40:18 -07:00
Tom Johnson 011861bbdb add support for videojs-grunt-languages
updates to change build/lang to build/files/lang

update grunt languages references and version

remove build/lang reference

update languages plugin reference for array support
2014-09-02 11:40:06 -07:00
Gary Katsevman df1944e9ff NaN & null should be treated as 0 in dimension()
When dimension() receives a NaN or null value for the number, it will
treat it as zero.
Updated tests to reflect that as well.
2014-09-02 14:37:42 -04:00
Steve Heffernan 1aabc440b6 Merge branch 'master' of https://github.com/videojs/video.js 2014-09-02 11:07:37 -07:00
Steve Heffernan c5bd01160a Added line to the changelog for #1409 2014-09-02 11:06:30 -07:00
Steve Heffernan 82aa55795e Removed html5Mock var declarations and fixed whitespace 2014-09-02 11:04:30 -07:00
Steve Heffernan 7c27add29d Merge branch 'issue-1408' of github.com:glencoesoftware/video.js into glencoesoftware-issue-1408 2014-09-02 11:00:36 -07:00
Matthew McClure 11b592ae01 Update CONTRIBUTING.md
Getting rid of some out of date info about Karma configuration.
2014-09-02 10:39:33 -07:00
MrVaykadji a582c833e3 French translation 2014-08-31 21:56:27 +02:00
Andreas Knab c4b4ebea4a Remove unneeded html5Mock 2014-08-28 12:28:07 +02:00
Steve Heffernan 1f33546f90 Added a line to the change log for #1455 2014-08-27 15:33:48 -07:00
Steve Heffernan 521f0eb941 Merge branch 'songpete-patch-1' 2014-08-27 15:31:15 -07:00
Steve Heffernan 22aa758067 Merge branch 'patch-1' of github.com:songpete/video.js into songpete-patch-1 2014-08-27 15:15:32 -07:00
Steve Heffernan 537ae2b805 Merge pull request #1435 from dmlap/test-manual-tracking
Add test for manual time tracking and dispose
2014-08-27 13:26:48 -07:00
Steve Heffernan fc0d37daec Merge branch 'guardian-html5-src-fix' 2014-08-27 13:12:46 -07:00
Steve Heffernan 2a9f1cdaac Added a line to the changelog for #1430 2014-08-27 13:11:55 -07:00
Steve Heffernan 87e25dd38e Merge branch 'html5-src-fix' of github.com:guardian/video.js into guardian-html5-src-fix 2014-08-27 13:08:02 -07:00
Steve Heffernan 16321d6208 Added line to the changelog for #1426 2014-08-27 13:05:33 -07:00
Steve Heffernan 34a8d64c04 Merge pull request #1426 from andekande/germantranslation
german Translation based on es.json
2014-08-27 12:59:50 -07:00
Pete Song 58c081f154 Bind 'onKeyPress' during keydown instead of keyup.
Binding during keydown will be more effective at preventing certain default behavior like moving the page down as these events may happen prior to keyup. Addresses #1452
2014-08-26 20:45:39 -04:00
Gary Katsevman 68ad48d8e8 Ignore null, undefined, and NaN is dimension()
Add vjs.isNaN to have a better cross browser isNaN checker.
Previously, only undefined was ignored, so, it tried setting the
dimension using null and NaN as values. In most browsers this isn't a
problem, but in particular on IE8, things break.
With this PR, all three of those values will be ignored.
2014-08-25 18:41:33 -04:00
Andreas Knab 49f58e0bbd Switch to sinon fake timers 2014-08-25 16:42:58 +02:00
Andreas Knab f716807852 Add test cases for default and disabled timeout 2014-08-25 11:35:06 +02:00
Andreas Knab 6d65871cb0 Add simple inactivityTimeout test 2014-08-25 11:28:52 +02:00
Steve Heffernan 055d81dc3a 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
2014-08-20 15:17:08 -07:00
Steve Heffernan 760eb308db Release 4.7.3 2014-08-20 15:16:22 -07:00
Steve Heffernan 03059c17d8 Added line to the changelog for #1424 2014-08-20 15:12:12 -07:00
Eric Berdahl 5ee97ea9a1 Publish (i.e. prevent closure compiler from obfuscating name of) videojs.Player.prototype.selectSource function. This allows developers to provide their own algorithms for selecting which source a Player should use. 2014-08-20 15:11:58 -07:00
Steve Heffernan 5761ab33bd Added line to the changelog for #1427 2014-08-20 15:07:52 -07:00
Tom Johnson c19a3f3f48 add fix for localization of not supported message
add base documentation for language support

typo fix

added utility function for adding languages per conversation with @heff. Includes test.

move addLanguage to core. update both core and util tests. added export property

added language sandbox for demo

fix comment

doc udpate

remove build instructions

add addLanguage API to doc

fix deep merge in test

test update

update local reference to string for compiled tests
2014-08-20 15:04:30 -07:00
Steve Heffernan a888108e2c Merge pull request #1422 from SunnyLi/patch-1
Fix typo in video tracks documentation
2014-08-20 13:00:32 -07:00
David LaPalomento a1eb8dd975 Add test for manual time tracking and dispose
Make sure time and progress event synthesis is turned off after the tech is disposed.For #1431.
2014-08-20 14:39:02 -04:00
Matt Osborn 21f2d3c150 fixing techGet for HTML5 src method 2014-08-19 17:04:31 +01:00
Jan Hesse dd0c7efa60 german Translation based on es.json 2014-08-18 13:11:05 +02:00
Sunny Li ec61386f47 Fix typo in video tracks documentation
small typo
2014-08-16 12:45:31 -04:00
Andreas Knab 98edeccb3f Allow disabling of inactivity timeout 2014-08-15 14:39:49 +02:00
Steve Heffernan 342bdce748 Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.dev.js
	dist/video-js/video.js
2014-08-14 16:32:26 -07:00
Steve Heffernan 7baa40220f Release 4.7.2 2014-08-14 16:31:27 -07:00
Steve Heffernan aaab1500c8 Added line to the changelog for #1417 2014-08-14 16:29:39 -07:00
Steve Heffernan 487c05628c Fixed console log tests that were breaking in IE8 2014-08-14 16:15:13 -07:00
David LaPalomento dfdbdbc9bb Bump SWF to 4.4.3
Pick up updated flash compiler settings.
2014-08-14 15:09:06 -07:00
David LaPalomento f037818656 Don't dynamically turn off progress events
The major browsers that support HTML video now reliably support progress events, so don't worry about synthesizing them for HTML anymore.
2014-08-14 15:08:54 -07:00
David LaPalomento f4ce62d4b1 Move manual events into tech controller
Migrate the timers that manage creating timeupdate and progress events when the tech doesn't support them natively. Now, techs that extend MediaTechController will continue to automatically pick up synthetic playback and buffering events but they're scoped much more closely to the entity that needs them. In addition, time and progress tracking have been moved much earlier into the component initialization which fixes #1414.
2014-08-14 15:08:37 -07:00
Andreas Knab 0b4737d209 Allow per-player setting of inactivityTimeout 2014-08-12 13:20:48 +02:00
Andreas Knab 3cfbf94245 Fix issue with minified version 2014-08-12 13:20:35 +02:00
Andreas Knab e4a0d264d6 Make inactivity timeout configurable 2014-08-11 11:01:15 +02:00
Steve Heffernan 7f4e6eb432 Removed dist files 2014-08-06 11:27:17 -07:00
Steve Heffernan 692a0e9c09 Release 4.7.1 2014-08-06 11:26:56 -07:00
Steve Heffernan a7d6c350e7 Added line to changelog for #1401 2014-08-06 11:24:41 -07:00
Steve Heffernan 9e34570c0f Merge pull request #1401 from jabes/patch-1
Prevent EMALFORMED errors with bower.json
2014-08-06 11:18:38 -07:00
Justin Bull c529f0898d Update bower.json
Prevent EMALFORMED errors with bower.
2014-08-05 19:08:39 -07:00
Steve Heffernan 3bf4afc831 Removed dist files 2014-08-05 18:09:20 -07:00
Steve Heffernan f3d7196a73 Release 4.7.0 2014-08-05 18:05:38 -07:00
Steve Heffernan 7ea1d8f544 Modified language json structure to not include the code.
Also removed languages from being combined with core until we add the ability to choose languages.
2014-08-05 17:48:00 -07:00
Tom Johnson 6b612d8cdc Added localization support. closes #1360 2014-08-05 17:48:00 -07:00
Steve Heffernan e4fbf27358 Merge pull request #1397 from anttimo/feature/fix-1390-add-svg-to-font-face
Add svg to font-face. fixes #1390
2014-08-05 12:13:43 -07:00
Steve Heffernan 0af41818e0 Merge branch 'master' of https://github.com/videojs/video.js 2014-08-05 12:10:09 -07:00
Steve Heffernan 1ffea6ce07 Removed a few leaked globals. This along with #1396 closes #603 2014-08-05 12:09:29 -07:00
Benjamin Peterson bf8b62cc81 put some variables in an anonymous function, so they don't pollute the global scope 2014-08-05 12:08:12 -07:00
Gary Katsevman f32ec15344 extern remainingTime 2014-08-05 12:08:12 -07:00
Steve Heffernan 949bfa2d39 Merge pull request #1398 from ctd1500/fix-readme
Updates the Build Status in the readme
2014-08-05 10:22:18 -07:00
ctd1500 bae224e4c4 Fixing the build status icon and link. 2014-08-04 23:21:42 -07:00
ctd1500 64564c0dcd Fixing a couple of spelling errors 2014-08-04 23:21:10 -07:00
Steve Heffernan 003c5ef38d Merge pull request #1395 from gkatsev/extern-remainingtime
extern remainingTime
2014-08-04 16:17:31 -07:00
Steve Heffernan 7dc919c89e Added line to changelog for #1385 2014-08-04 16:16:09 -07:00
Steve Heffernan 52667554dc Merge pull request #1385 from Akkuma/feature/sliding-class
Added a class for when slider is "sliding"
2014-08-04 16:14:35 -07:00
jackunion a0d8db9ed1 Fixed an issue where the user was unable to scroll/zoom page if touching the video
closes #1373, closes#895

fixes #895

Moved event.preventDefault() to 'touchend' listener

missing semicolon
2014-08-04 16:08:25 -07:00
Steve Heffernan d64205de79 Added line to changelog for #1369 2014-08-04 15:53:49 -07:00
Steve Heffernan 527a33a252 Maded some revisions to videojs/video.js#1369
closes #1369
2014-08-04 15:53:28 -07:00
Steve Heffernan b3bbb17dd4 Restore the original video tag attributes on a tech change
set attributes of video tag and not only values

add unsupported attribute to the video tag - test failing

helper to set attributes on an element from a map of values

dummy compare of html content with a sort of the attributes

ignore html attributes order for comparition

save original tag attributes

restore original tag attributes n creation and overwrite if required by settings

replace object.keys with vjs.obj.each for ie<9

fix spacing

API consistency, getAttributeValues renamed to getElementAttributes

clear variable naming

move setElementAttributes close to getElementAttributes
2014-08-04 15:47:56 -07:00
Steve Heffernan 403afcf57d Updated some contrib commands 2014-08-04 14:23:19 -07:00
Gary Katsevman 3c4c5a5aee extern remainingTime 2014-08-04 14:56:25 -04:00
Antti Moilanen cfb688983b Add svg to font-face. fixes #1390 2014-08-04 15:55:45 +03:00
Steve Heffernan bcf3f34dde Added finished messages to contrib issue commands 2014-08-03 17:36:57 -07:00
Steve Heffernan 4c42446d44 Updated report and request contrib commands 2014-08-03 17:34:25 -07:00
Steve Heffernan 2619593691 Merge pull request #1393 from gkatsev/disable-the-sauce
Disable saucelabs until we figure it out
2014-08-01 17:28:54 -07:00
jerrylow fa5116ffe7 Issue-1370 remove default class on subtitle off
closes #1371, closes #1370

Update track show to user showtrack

Remove underscores
2014-08-01 17:25:21 -07:00
Steve Heffernan 49eeb600fd Added Slider.onMouseMove to fix breaking test 2014-08-01 17:24:08 -07:00
Gary Katsevman 39fe83e1c0 Disable saucelabs until we figure it out 2014-08-01 20:18:08 -04:00
Matthew McClure 8b5eb5089f Merge pull request #1386 from Akkuma/feature/optimized-slider-handlers
Bound move/end context once instead of repeatedly
2014-08-01 16:47:47 -07:00
Steve Heffernan fa75d61cf8 Added line to changelog for #1351 2014-08-01 13:14:47 -07:00
Paul Ryan c5fb952935 Added vjs-waiting and vjs-seeking css classnames and updated the spinner to use them
closes #1351, closes #1225, closes #684, closes #518

Split up seeking and waiting styles. Updated loading spinner to use them.
2014-08-01 13:13:24 -07:00
sethborg f00f354ab9 Disposing the html5 video element more throughly when switching techs so it doesn't continue to load.
closes #1334

Update html5.js

If the HTML tag is not removed, the video will still download in the background in Firefox after the player is disposed.

Update component.js

Moved my fix to src/js/media/html5.js

Changed order of html5 element dispose and using this.el_ instead of player.tag
2014-08-01 13:04:25 -07:00
Steve Heffernan 8afc2f919b Added line to the change log for #1253 2014-08-01 12:47:29 -07:00
brainopia b2fbc8059b Added support for multiple time ranges in the load progress bar
closes #1253

Display a true load progress (with accounting all buffered regions)

Add played property for player

Correctly display played regions in progress-bar

Support #played in MediaFaker so tests would pass

Remove play-progress regions but add some opacity to play-progress

Remove opacity

Revert "Add played property for player"

This reverts commit 6d8bf982c23c85b0e17edf93d7b2d02ded8ff611.

Fixed an issue where a load progress of NaN was throwing an error

Reverted some remaining `played` changes

Updated the progress bar to encapsulate time ranges

In the previous commit the progress bar was broken up into timeranges.
This had the effect of looking broken, so now the progress bar covers
all time ranges, and the time ranges a subtley different in color
from the progress bar.
2014-08-01 12:46:32 -07:00
Desdemina 6921b552ef Update tracks.md with Caption Key info. Closes #1379 2014-07-31 13:07:27 -07:00
Gregory Waxman aaa88c70f2 Bound move/end context once instead of repeatedly 2014-07-30 17:08:44 -04:00
Gregory Waxman 3da12eba29 Added a class for when slider is "sliding" 2014-07-30 17:01:57 -04:00
Steve Heffernan 14c64f197f Added line to changelog for #1363 2014-07-29 16:03:30 -07:00
Steve Heffernan d10977ebf3 Merge branch 'feature/ie8-compat-events' of github.com:HeadOnAPlate/video.js into HeadOnAPlate-feature/ie8-compat-events 2014-07-29 15:57:26 -07:00
Steve Heffernan f69881c276 Added docs and changelog line for #1320 2014-07-29 10:42:10 -07:00
Steve Heffernan 116681771b Merge branch 'source-type' of github.com:guardian/video.js into guardian-source-type 2014-07-29 10:36:57 -07:00
Matt Osborn 11524ca2c3 Merge pull request #1 from heff/guardian-source-type
Guardian source type
2014-07-29 17:31:29 +01:00
Steve Heffernan 624bf16070 Merge branch 'master' into fix-flash-ready
Conflicts:
	src/js/media/flash.js
	test/unit/flash.js
2014-07-28 17:27:29 -07:00
Steve Heffernan 0ddc344e76 Fixed a change that got lost in the merge 2014-07-28 17:10:52 -07:00
Steve Heffernan 781b4e59f5 Merge branch 'fix-hidden-flash-methods-squashed'
Conflicts:
	src/js/media/flash.js
2014-07-28 17:07:53 -07:00
Steve Heffernan 0bc7ca0954 Fixed test to use exported property 2014-07-28 17:03:27 -07:00
Steve Heffernan 0ce57ae149 Removed iFrameMode from flash because it is not being used 2014-07-28 17:03:14 -07:00
Steve Heffernan f6ab92977e Switched to string keys for flash currentTime propreties so they would be exported 2014-07-28 17:02:48 -07:00
Steve Heffernan 707d0e7660 Added line to changelog for #1345 2014-07-28 16:28:17 -07:00
Steve Heffernan 951370dec9 Merge pull request #1345 from jackunion/issue_492
fixes #492
2014-07-28 16:26:52 -07:00
Steve Heffernan 5ef0da4ac6 Added line to changelog for #1340 2014-07-28 16:13:04 -07:00
Steve Heffernan ae90526f2c Merge branch 'hotfix/flash-dispose' of github.com:dmlap/video-js into dmlap-hotfix/flash-dispose 2014-07-28 16:10:47 -07:00
Steve Heffernan 540e7f0cb7 Added line to changelog for #1337 2014-07-28 15:53:59 -07:00
Steve Heffernan cab595a5dd Merge branch 'fix/bower-ignore' of github.com:gkralik/video.js into gkralik-fix/bower-ignore 2014-07-28 15:52:40 -07:00
Steve Heffernan 9217d5c2e7 Added line to changelog for #1321. Removed unneeded hasOwnProperty. 2014-07-28 15:07:57 -07:00
Steve Heffernan 34ad720626 Merge branch 'data-attributes' of github.com:gkatsev/video.js into gkatsev-data-attributes 2014-07-28 15:00:09 -07:00
Steve Heffernan 97c7e4c759 Moved source list handling out of src() and into its own function to simplify src 2014-07-28 14:43:12 -07:00
Steve Heffernan 738fa73949 Merge branch 'source-type' of github.com:guardian/video.js into guardian-source-type
Conflicts:
	src/js/exports.js
2014-07-28 13:46:35 -07:00
Steve Heffernan d3e03accce Added line to the changelog 2014-07-28 13:39:53 -07:00
Steve Heffernan edd2e11486 Updated trigger param docs to be single-line for the docs parser 2014-07-28 13:37:43 -07:00
Steve Heffernan 2466c76a57 Merge branch 'feature/component-trigger-fix' of github.com:bceacuna/video.js into bceacuna-feature/component-trigger-fix 2014-07-28 13:29:19 -07:00
Gary Katsevman c794aeca34 quote vertical option so it doesn't get minified 2014-07-28 11:37:39 -07:00
Steve Heffernan e17dd2c68d Merge pull request #1361 from gutworth/fix-ws
fix whitespace in util.js
2014-07-25 15:36:46 -07:00
Niels Doucet 472988df58 #1309 fix adding/removing event handlers in IE8 2014-07-24 09:13:27 +02:00
Benjamin Peterson 6789c921f5 fix whitespace in util.js 2014-07-23 20:50:06 -07:00
Steve Heffernan b1c3bd4f84 Added npm install and grunt to the contrib update command 2014-07-23 11:56:55 -07:00
Steve Heffernan f6ba25ddf6 Made the swf account for being ready after the tech was disposed 2014-07-16 14:01:01 -07:00
Steve Heffernan 02949f5b91 Allow overriding flash methods that were previously hidden by creating them in init 2014-07-14 16:07:26 -07:00
jackunion bb93a18ca8 fixes #492
Binds up/down arrows for sliders
2014-07-13 20:46:20 +04:00
Steve Heffernan 3352346a74 Removed dist files 2014-07-11 14:50:42 -07:00
Steve Heffernan a97a002ed6 Release 4.6.4 2014-07-11 14:48:42 -07:00
Steve Heffernan fa635f835f Updated contrib release steps 2014-07-11 14:44:47 -07:00
Steve Heffernan 2af481e0ec Updated to swf version 4.4.2 to fix the network state reporting 2014-07-11 14:38:30 -07:00
Steve Heffernan 7debdea507 The base media tech class now checks the networkState at init to determine if loadstart should be manually fired.
Previously this was only done in the HTML5 tech, but Flash needs it as well. This relies on videojs/video-js-swf#106.

Also removed the 'not implemented' warnings from the media tech functions. I think there's a better way we can help tech authors here, and it was blocking the ability to check if a function was implemented for real.

Fixes #1300, fixes #1341
2014-07-10 19:18:58 -07:00
David LaPalomento a77e39f342 Set this.el_ directly instead of using another variable
The flash tech doesn't need to hold onto a reference to the placeholder element after the embed code has been generated. Set this.el_ to the embed code immediately instead of using another property to track it during init. Tested in IE8.
2014-07-10 17:17:53 -04:00
David LaPalomento da19fa3ead Track the object element during init and remove it if the tech is disposed before onReady. For #1339.
If dispose() was called before the SWF triggered onReady(), the placeholder div would be cleaned up but the actual object element would be left behind to mess things up in the future. Keep track of the object element during initialization and make sure it is removed if flash is unloaded early.
2014-07-09 16:29:30 -04:00
Matt Osborn d6d3dd1d4d using vjs.bind 2014-07-09 10:14:44 +01:00
Matt Osborn 926ccac6a7 removing redundant ready check 2014-07-09 10:12:17 +01:00
Gregor Kralik bdc89a0b24 bower: ignore dot files, build and tests 2014-07-09 11:02:08 +02:00
themicp 392cbda095 Added support for listening to multiple events through a types array. closes #1231 2014-07-08 11:51:47 -07:00
Gary Katsevman d5372545a2 Added additional browsers for saucelabs testing. closes #1216 2014-07-08 11:46:02 -07:00
Gary Katsevman 813f28fb4d Added a base for running saucelabs tests from grunt. closes #1215 2014-07-08 11:43:57 -07:00
Steve Heffernan 1378f566ab Merge branch 'stable'
Conflicts:
	contrib.json
2014-07-08 11:08:16 -07:00
Steve Heffernan ab520e9dd7 Updated stable with new contrib commands, including test, watch, server 2014-07-08 11:06:29 -07:00
spectralsun 14ecc2fc89 added missing exports. closes #1328 2014-07-07 10:43:44 -07:00
John Doe bdf6c54dbc Merge branch 'stable' 2014-07-07 10:09:01 -07:00
Matthew McClure c0451fa674 Merge pull request #1331 from StevenMeyer/patch-1
Corrected API method name (#1330)
2014-07-07 10:06:53 -07:00
Steven Meyer 5812d64154 Corrected API method name
Corrected API method name and added helpful message on using events.

I was confused for a while regarding how to use the events, so it might help someone else.
2014-07-04 14:24:34 +01:00
Matt Osborn 3b60b9decd setSource method tweaks 2014-07-02 12:26:04 +01:00
Gary Katsevman b65eb0e5f3 switch to vjs.obj.each 2014-07-01 16:11:32 -04:00
Gary Katsevman c9b1217e10 Copy over data attrs from video el to wrapper el. 2014-07-01 15:10:45 -04:00
Matt Osborn 9e8a31065e adding a currentType method to get current source type if known 2014-07-01 10:46:16 +01:00
Erick Acuna d24a9b48ac Updated jsdoc 2014-06-26 10:50:25 -04:00
Steve Heffernan 80147f0054 Updated the contrib feature accept process to support upstream repos and added a review process 2014-06-25 17:54:47 -07:00
Matt Osborn fe6946d451 Fixed an error when disposing a tech using manual timeupdates. closes #1312 2014-06-25 17:40:25 -07:00
Cavitt b66ef806e5 Exposed the vertical option for slider controls. closes #1303 2014-06-25 17:27:56 -07:00
Steve Heffernan fc4d00c658 Condensed the contrib commands 2014-06-25 15:48:40 -07:00
Steve Heffernan 1448638285 Updated contrib install process 2014-06-24 14:57:47 -07:00
Erick Acuna 0ee79afdfe Fixed issue number 1298 component.trigger does not pass event object #1298 2014-06-24 12:43:18 -04:00
Patrick Forget 8a05aa11a1 Added a composer.json for PHP packages. closes #1241 2014-06-13 17:01:11 -07:00
David LaPalomento 155781058e Fixed an IE11 issue where clicking on the video wouldn&#x27;t show the controls. closes #1291 2014-06-13 14:16:03 -07:00
Steve Heffernan 595a6131c1 Added tests for cue times with flags 2014-06-13 13:41:23 -07:00
Troy Brandt bb50466733 Fixed issues around webvtt cue time parsing. Fixed #877, fixed #183.. closes #1236 2014-06-13 13:30:16 -07:00
Steve Heffernan 91aa06fe56 Updated the chapters menu styles to center the menu to the button. 2014-06-13 11:33:23 -07:00
Chris Fung 95173ebf7c Fixed support for webvtt chapters. Fixes #676.. closes #1221 2014-06-13 11:30:44 -07:00
shmulik 6d78c95bb4 Added cross-browser isArray for cross-frame support. fixes #1195. closes #1218 2014-06-12 15:24:46 -07:00
Steve Heffernan 6116e3c3da Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video-js.swf
	dist/video-js/video.dev.js
	dist/video-js/video.js
2014-06-12 14:10:21 -07:00
Steve Heffernan b2f6175a7b Release 4.6.3 2014-06-12 14:08:27 -07:00
Steve Heffernan 3720a2de12 Fixed a minification issue with the fullscreen event. fixes #1282. closes #1286 2014-06-12 14:05:27 -07:00
David LaPalomento 39ae5178ee Updated to version 4.4.1 of the SWF. closes #1285 2014-06-12 14:02:44 -07:00
Steve Heffernan e77f8c95d3 Merge branch 'stable' 2014-06-10 17:15:49 -07:00
Steve Heffernan 61a919d529 Updated test dependencies to fix travis tests 2014-06-10 17:13:20 -07:00
Steve Heffernan 9d311640b1 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
2014-06-10 16:59:17 -07:00
Steve Heffernan 17cb669047 Release 4.6.2 2014-06-10 16:58:41 -07:00
Steve Heffernan 71c0a72717 Fixed an issue with the firstplay event not firing when autoplaying. closes #1271 2014-06-10 16:55:08 -07:00
Steve Heffernan aedaa17e3c Added tests for cue time parsing, including for #183 (test-only) 2014-05-21 17:28:18 -07:00
Steve Heffernan e3e836f41e Added tests for cue parsing, including tests for #877 2014-05-21 16:50:58 -07:00
Steve Heffernan 7aeb288848 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
2014-05-20 13:59:47 -07:00
Steve Heffernan 5edc3a5cbc Release 4.6.1 2014-05-20 13:58:26 -07:00
Steve Heffernan 3f9a2ca35b Udpated playbackRate menu to work in minified version. closes #1223 2014-05-20 13:56:43 -07:00
Steve Heffernan 9a2bee9abf Removed dist files 2014-05-20 10:42:20 -07:00
Steve Heffernan d01de49ded Release 4.6.0 2014-05-20 10:42:01 -07:00
Steve Heffernan 1744d64142 Fixed contrib.json to work with handlebars 2014-05-20 10:39:21 -07:00
Steve Heffernan 956f3e03eb Temporarily removed the saucelabs ipad test because it was errororing unrelated to tests 2014-05-19 13:59:12 -07:00
Brad Chase 23ab370ab6 Added a player option to offset the subtitles/captions timing. closes #1212 2014-05-19 13:40:04 -07:00
Steve Heffernan bd66416b75 Updated the CDN font to point to the new font version, /f/3/ 2014-05-19 13:34:26 -07:00
Matthew McClure 6bb92282c3 Added a cog icon to the font icons. closes #1211 2014-05-19 13:21:32 -07:00
Dominic f3ab261d5b Added a clearer error message when a tech is undefined. closes #1210 2014-05-19 12:45:00 -07:00
Steve Heffernan 38c394fc90 Fixed another issue with changelog adding during feature accept command 2014-05-19 12:07:54 -07:00
Gary Katsevman a97bb5f74b Fixed saucelabs integration to run on commits in TravisCI. closes #1214 2014-05-16 15:18:24 -07:00
Steve Heffernan 4d05b6febb Fixed changelog adding in contrib accept script 2014-05-16 15:07:13 -07:00
Gary Katsevman 3189ec1a0b Added cross-browser testing with SauceLabs, and added Karma as the default test runner. closes #1187 2014-05-16 14:48:05 -07:00
Steve Heffernan b8f525cb81 Added contrib feature accept and review commands 2014-05-16 11:32:47 -07:00
Steve Heffernan 46aa551e1e Modernized the fullscreen API and added support for IE11. fixes #1155 closes #1205 2014-05-15 14:46:28 -07:00
Steve Heffernan 97c1f83dc7 Added a missing changelog item 2014-05-14 16:01:52 -07:00
Steve Heffernan 0c3fb04acb Fixed issues from comments on d7f840a969
- use triple equals
- don't block play call on error
2014-05-14 15:46:23 -07:00
Steve Heffernan bad5130c8f Fixed the loadstart event listener order so it's attached before the HTML5 tech triggers it. fixes #1208 fixes #1207 fixes #1193 2014-05-14 15:04:31 -07:00
Artem Suschev 8dfe0a4d06 Added support for playbackRate switching. closes #1132 2014-05-13 14:02:02 -07:00
Erik Skogby 047bd8f618 Made vjs.get work with xDomain in IE < 10. closes #1095 2014-05-13 12:35:40 -07:00
Steve Heffernan d7f840a969 Better error handling. closes #1197
Squashed commit of the following:

commit 81d785980d3f3e4c1025f7b421f0ecb7320469f1
Author: Steve Heffernan <steve@zencoder.com>
Date:   Mon May 12 12:53:59 2014 -0700

    Removed unneeded comments

commit c7ad7322e49df9cb22665692dbfe615dfa44758f
Author: Steve Heffernan <steve@zencoder.com>
Date:   Fri May 9 14:29:31 2014 -0700

    Addressed comments in #1191
    Now clearing errors on loadstart events.
    Added some default error messages.

commit a742239d0e799fa6a5fee056cc37b3c2e3ab4510
Author: Steve Heffernan <steve@zencoder.com>
Date:   Wed May 7 15:38:31 2014 -0700

    Fixed the error display to hide by default

commit 561c3f844956db6f532cae8ed81a86cc39b10db1
Author: Steve Heffernan <steve@zencoder.com>
Date:   Mon May 5 10:44:47 2014 -0700

    Added support for displaying a message for the error.

commit 22142078427ead85548c4755bf1943a0a07b22b4
Author: Steve Heffernan <steve@zencoder.com>
Date:   Fri May 2 17:18:22 2014 -0700

    Updated spinner to hide on all errors

commit 95d7e7027467cf96b14db6692d93c7c7f41c5810
Author: Steve Heffernan <steve@zencoder.com>
Date:   Fri May 2 15:37:44 2014 -0700

    Exported ErrorDisplay

commit 11ca9cdd8db4d1559f5d1908c4e67be32ca7a25e
Author: Steve Heffernan <steve@zencoder.com>
Date:   Fri May 2 15:35:46 2014 -0700

    Updated flash tech to support new errors

commit 56cbe66f4233e54f13550367590864102f5de0fe
Author: Steve Heffernan <steve@zencoder.com>
Date:   Fri May 2 13:06:49 2014 -0700

    Started on better error handling and displaying in the UI when an error has occurred.

commit 740014c57b264079cf4084965a9384b49a7c0f64
Author: Steve Heffernan <steve@zencoder.com>
Date:   Wed Apr 30 16:11:33 2014 -0700

    Added better global log/error/warn functions.
    Added sinon.js for stubs in tests.
    Updated grunt version to satisfy peer dependency warning.
2014-05-12 17:08:48 -07:00
Steve Heffernan 01567428b0 Merge branch 'stable' 2014-05-09 13:10:27 -07:00
Steve Heffernan 4235a3d8c1 Added bug and request contrib commands 2014-05-09 13:09:58 -07:00
Steve Heffernan 4bb3a23331 Made negative LESS calculations a little more readable.
Added line to the changelog for PR merge.
2014-05-09 10:56:46 -07:00
Steve Heffernan 7782eda524 Merge branch 'master' of github.com:fobiaxx/video.js into fobiaxx-master 2014-05-09 10:45:58 -07:00
Matthew McClure 92eac13caa More explicit MIME type note
Added a more explicit MIME type note in setup. Moved to a footnote and made comment more verbose to avoid confusion.
2014-05-07 15:31:02 -07:00
Steve Heffernan bcb69a0b23 Merge branch 'master' of github.com:videojs/video.js 2014-05-07 15:23:43 -07:00
Steve Heffernan 3fd0c92c95 Added line to changelog 2014-05-07 15:23:32 -07:00
Matthew McClure a6718913be Merge pull request #1149 from bosoniq/master
Included self-hosting MIME type instructions
2014-05-07 15:22:13 -07:00
Chris Fung 1df28ff311 Fixed the default flag for captions/subtitles tracks. closes #1153 closes #656 2014-05-07 14:59:01 -07:00
Jon Zepernick dbff62e3f0 Made tap events on mobile less sensitive to touch moves. closes #1111 2014-05-06 17:22:29 -07:00
Steve Heffernan ef25557577 Added line to changelog 2014-05-06 17:03:44 -07:00
Steve Heffernan 269f7b15c0 Merge branch 'master' of github.com:michelt/video.js into michelt-master 2014-05-06 17:01:53 -07:00
Steve Heffernan adf4e507c1 Added line to the changelog 2014-05-06 14:51:09 -07:00
Steve Heffernan a5bc6884e2 Merge branch 'Akkuma-master' 2014-05-06 14:37:33 -07:00
Gregory Waxman e7617bfdd4 Merge pull request #1 from heff/Akkuma-master
Updates for videojs/video.js#1093
2014-05-06 11:16:15 -04:00
Steve Heffernan 27f0f789e0 Updated to match comments in #1093 2014-05-05 17:11:14 -07:00
Steve Heffernan 3e5ef19212 Merge branch 'master' of github.com:Akkuma/video.js into Akkuma-master
Conflicts:
	src/js/lib.js
2014-05-05 16:34:15 -07:00
Steve Heffernan d96e008978 Updated setup.md and demo.html with fallback paragraph 2014-05-05 15:48:34 -07:00
Steve Heffernan 227700a236 Added a more informative and styled fallback message for non-html5 browsers that also have JavaScript disabled 2014-04-29 13:39:38 -07:00
Fernando José La Calle Prada 923ce038f7 Fixed compilation failure with LESS v1.7.0 and GRUNT v0.4.4. The operations on the variables must be enclosed in parentheses so the compiler takes as math operations and not as strings. 2014-04-29 16:21:34 +02:00
Steve Heffernan 16eea0a1df Merge branch 'feature/fix-timeupdates' of github.com:heff/video-js into heff-feature/tech-error 2014-04-25 15:39:45 -07:00
Steve Heffernan f4704ee74f Merge branch 'feature/tech-error' of github.com:heff/video-js into heff-feature/tech-error 2014-04-25 15:38:20 -07:00
Steve Heffernan 8c9a4cc434 Merge branch 'mousespam' of github.com:download13/video.js into download13-mousespam 2014-04-25 15:31:31 -07:00
Steve Heffernan f98012a471 Trigger one last timepudate when stopping manual timeupdates. fixes #1002 2014-04-25 13:42:11 -07:00
Steve Heffernan 65833f5231 Making sure a tech exists when starting manual progress and timeupdate events 2014-04-25 13:14:03 -07:00
Andrew Pitt e8722ff522 Included self-hosting MIME type instructions 2014-04-18 11:42:14 +02:00
Andrew Pitt c1029eab16 Update setup.md 2014-04-18 11:35:42 +02:00
Steve Heffernan 46605739e2 Merge branch 'feature/fix-menu-title' of github.com:coursera/video.js into coursera-feature/fix-menu-title 2014-04-17 22:55:16 -07:00
Andrew Pitt 31918fc46d Included self-hosting MIME type instructions
Added information on MIME type server configuration to self-hosting instructions in setup.md
2014-04-16 11:13:46 +02:00
Steve Heffernan 3bafdeef51 Merge branch 'master' of github.com:videojs/video.js 2014-04-12 14:05:28 -07:00
Steve Heffernan 2473d5bf7a Merge branch 'stable'
Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video.js
2014-04-12 14:05:13 -07:00
Steve Heffernan 4242fe3857 Release 4.5.2 2014-04-12 14:03:18 -07:00
Steve Heffernan da45dad831 Updated versioning to bump bower and component json files also
fixes #1123, fixes #1140
2014-04-12 13:47:39 -07:00
Steve Heffernan 2fca84435d Merge pull request #1130 from stin7/patch-1
getElementsById -> getElementById
2014-04-11 14:50:08 -07:00
Austin d8f721abf5 getElementsById -> getElementById
small typo fix in code that leads to error
2014-04-05 11:21:25 -07:00
Jon Wong 9d258742c5 Adjusting menu to use title given in options 2014-04-03 23:35:15 -07:00
Jon Wong 35d7258973 Merge branch 'feature/fix-menu-title' of git://github.com/coursera/video.js into coursera-feature/fix-menu-title 2014-04-03 14:26:38 -07:00
Steve Heffernan 4e0c2b366d Updated volume slider to use ems intead of percent for default value clarity 2014-04-03 13:49:30 -07:00
David LaPalomento aa8d50b219 Don't force sliders to get evaluated on load. closes #1122
Squashed commit of the following:

commit d5957da3b282166c882c5d81e64936dec118ecf6
Author: David LaPalomento <dlapalomento@gmail.com>
Date:   Mon Mar 31 16:22:43 2014 -0400

    Peg the volume control to 1.0 on init
    Setup styles so that the volume control initially renders at full volume. This matches browser behavior where volume is available and saves Javascript from having to manually update the volume control on init. After the initial draw, the volume control is updated dynamically the same way it was before.

commit 8bc861fb861d4126f80fd11ed17d1f550498c559
Author: David LaPalomento <dlapalomento@gmail.com>
Date:   Wed Mar 12 17:16:30 2014 -0400

    Don't force sliders to get evaluated on load
    Since the load and play progress sliders are guaranteed to start from zero, set that through CSS. Calling Slider.prototype.update forces a re-flow because element dimensions are queried and style rules changed. That reflow consistently took around 60ms on my laptop which would mean dropped frames and "jerkiness" on initialization.
2014-04-03 13:46:48 -07:00
Matthew McClure 95c29e684f Reset player on source change. closes #1050 closes #1124 2014-04-03 11:16:09 -07:00
Jon Wong c7e35e51de Making sure that the title element gets placed into the UL element
Included are two sanity check tests for the two areas being checked
to make sure that the menu title items are being correctly placed
in the actual UL element of the menu.

Fixes #1107
2014-04-01 22:32:14 -07:00
Steve Heffernan d784f9d0d9 Added line to the changelog 2014-04-01 17:21:50 -07:00
Tom Johnson 6a097c0236 Basic UI for Live
Squashed commit of the following:

commit 2c5d4d523e2e1f3a1bcdafda292d6a0ebea7a200
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Tue Apr 1 15:02:37 2014 -0700

    update control text for liveDisplay component

commit 10f21cc2a09b6823a73fae4cf1881490f9038d30
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Tue Apr 1 12:23:20 2014 -0700

    whitespace fix

commit 6a093d67989479f63ed4ac6bdddd5d1a3d0b08bb
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Tue Apr 1 12:21:42 2014 -0700

    remove window scope of infinity

commit 2dd8284bd3c7b2c7692a78563c3cfe9558f25ab4
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Tue Apr 1 12:12:13 2014 -0700

    update to fix infinity capitalization. only do css logic on valid duration. set any duration of less than zero to window.Infinity

commit f940bef8b50156c5b8fcd969c9b5d39be9fe5589
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Tue Apr 1 10:01:27 2014 -0700

    update to less than zero on player durationChange

commit 554c003dac640b7a658355cd46b6ab146cf50b24
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Mon Mar 31 17:26:13 2014 -0700

    update exports, fix tests

commit 2fb10cb06a65c3f91342563bfa925d9a472ede33
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Mon Mar 31 13:39:00 2014 -0700

    fix tests, remove update display list in LiveDisplay

commit bc47c5ed67e036c79067ebc6666b310fd0b68d04
Author: Tom Johnson <seniorflexdeveloper@gmail.com>
Date:   Mon Mar 31 13:13:43 2014 -0700

    Basic UI for Live
2014-04-01 17:19:28 -07:00
Steve Heffernan efe25c0b13 Removed dist files 2014-03-27 14:33:12 -07:00
Steve Heffernan 06e141df58 Merge branch 'stable'
Conflicts:
  dist/video-js/video-js.css
  dist/video-js/video-js.min.css
  dist/video-js/video.js
2014-03-27 14:33:06 -07:00
Steve Heffernan 848cfd6620 Release 4.5.1 2014-03-27 14:31:36 -07:00
Steve Heffernan d3af3e0e07 Added line to the changelog 2014-03-27 14:29:46 -07:00
Steve Heffernan af50b8ee29 Fixed canPlaySource export that got lost in last release 2014-03-27 14:25:58 -07:00
Steve Heffernan aeb4aa3ada Removed dist files 2014-03-27 13:37:38 -07:00
Steve Heffernan 825de43819 Release 4.5.0 2014-03-27 13:35:51 -07:00
Steve Heffernan 066438670f Fixed the release type ID placement in contrib.json 2014-03-27 13:32:06 -07:00
Steve Heffernan e8d36e0fab Exported upatchCanPlayType and moved tests to api.js 2014-03-27 13:24:03 -07:00
Steve Heffernan a9ad77aa00 Removed a low value test that was causing a hang in testing 2014-03-27 11:53:06 -07:00
Steve Heffernan b3b42e3822 Made findPosition return rounded values to fix Android tests 2014-03-27 11:44:50 -07:00
Steve Heffernan 88403221a9 Fixed canPlayType patch tests on Android 2014-03-27 11:19:21 -07:00
Steve Heffernan 2079af7320 Merge pull request #1116 from dmlap/hotfix/gcc-currentSrc
Fix currentSrc when Flash returns null
2014-03-26 16:53:55 -07:00
David LaPalomento c8bd862e3e Fix currentSrc when Flash returns null
It looks like GCC was mangling `rtmpConnection` and `rtmpStream` before invoking them. Unfortunately, we define those methods as string literals so they do not have mangled equivalents. Invoke them using string literals so GCC never mangles the method names.
2014-03-26 19:45:42 -04:00
Steve Heffernan 74c73969cd Merge branch 'gkatsev-defaultprevented' 2014-03-26 14:45:53 -07:00
Steve Heffernan c286c826db Added line to changelog 2014-03-26 14:45:08 -07:00
Steve Heffernan 33f388366d Merge branch 'master' of github.com:videojs/video.js 2014-03-26 14:40:38 -07:00
Steve Heffernan f363523551 Switched to single quotes 2014-03-26 14:39:33 -07:00
Steve Heffernan e87fe460cc Merge branch 'monkeyhls' of git://github.com/gkatsev/video-js into gkatsev-monkeyhls 2014-03-26 14:37:20 -07:00
Steve Heffernan 2c12ed98a7 Merge branch 'defaultprevented' of git://github.com/gkatsev/video-js into gkatsev-defaultprevented 2014-03-26 14:32:50 -07:00
Steve Heffernan 87ee28e6cb Merge pull request #1112 from seniorflexdeveloper/feature/grunt-connect
Grunt Connect
2014-03-26 14:30:45 -07:00
Gary Katsevman e39557e790 Always unpatch canPlayType.
Fix up tests to not ignore some if canPlayType is not available since
unpatch is no longer broken.
2014-03-26 16:59:04 -04:00
Gary Katsevman e2a1cac136 fix typo for unpatchCanPlayType 2014-03-26 16:58:49 -04:00
Gary Katsevman d21019ad78 add existence test for patch and unpatch methods 2014-03-26 16:39:11 -04:00
Gary Katsevman 94ec725a66 update for IE8 and fixup stupid tests 2014-03-26 14:58:36 -04:00
Gary Katsevman 75bd76f55c return the patched function from unpatchCanPlayType 2014-03-26 14:58:20 -04:00
Gary Katsevman fef6282d55 remove unused var 2014-03-26 13:49:21 -04:00
Gary Katsevman f1d2aef048 Don't assume only mimetype available for matching 2014-03-26 13:41:49 -04:00
Tom Johnson d1d97bfe9b update contributing doc with grunt commands 2014-03-25 15:38:32 -07:00
Tom Johnson 0a1d4b2645 use grunt connect for development 2014-03-25 15:22:29 -07:00
Gary Katsevman 0c856ce9a4 call unpatchCanPlayType after tests 2014-03-25 15:32:03 -04:00
Gary Katsevman 817253b74f Also, switch out HTMLVideoElement to constructor reference in tests 2014-03-24 19:07:19 -04:00
Gary Katsevman f86e073f03 Switch HTMLVideoElement to constructor reference 2014-03-24 18:54:10 -04:00
Gary Katsevman 86c3f94c87 fix up jshint errors 2014-03-24 18:00:00 -04:00
Gary Katsevman d48d6cf99d add a test 2014-03-24 17:56:02 -04:00
Steve Heffernan 0f2aadcfcd Merge branch 'stable' 2014-03-24 13:53:54 -07:00
Steve Heffernan 4daf1f173c Merge pull request #1098 from arxpoetica/patch-1
Fix code in examples.
2014-03-24 13:52:37 -07:00
michelt 61eb54afa8 Replaced webkitRequestFullScreen with webkitReplaceFullscreen 2014-03-20 18:45:48 +01:00
Gregory Waxman 799f1762ff Fixed some formatting issues & added .each doc 2014-03-20 11:04:37 -04:00
Robert Hall 416ee1b2a0 Fix code in examples.
The examples are broken with extra parentheses. Fixed.
2014-03-19 13:58:00 -04:00
Gregory Waxman 204bb84ecb Array traversing for children opts - closes #1070 2014-03-18 15:49:59 -04:00
Gary Katsevman 5381f70d1c + vjs.Html5.{patchCanPlayType,unpatchCanPlayType}
patchCanPlayType is called on load.
It patched video#canPlayType if needed.
unpatchCanPlayType will revert the patch and return the patch function.
There are also corresponding tests that test patchCanPlayType,
unpatchCanPlayType and also whether the patch functions themselves work
correctly.
2014-03-17 20:47:47 -04:00
Gary Katsevman 252ad3f466 be case insensitive 2014-03-13 18:25:03 -04:00
Matthew McClure 80d7b5014a Merge pull request #1075 from seniorflexdeveloper/hotfix/spinner
Loading Spinner Fixes
2014-03-13 14:26:20 -07:00
Matthew McClure 32e4d4c9d0 Merge pull request #1080 from tchakabam/master
Fixes null pointer exception and improves behavior of src() of when to trigger ready event
2014-03-13 14:18:36 -07:00
Stephan Hesse d289a336b8 Fix bower version (was 4.4.0 in bower.json but should be same as semver tag) 2014-03-13 22:16:39 +01:00
Gary Katsevman e35083bc28 Monkeypatch canPlayType on Android 4.0+ for HLS
Android devices starting with 4.0 can play HLS natively to some extent.
However, they do not say so in the canPlayType method. This commit
monkey patches canPlayType to respond with "maybe" for
"application/x-mpegURL" and "application/vnd.apple.mpegURL". Otherwise,
it'll fallback to the original canPlayType method.
2014-03-13 16:34:29 -04:00
Stephan Hesse 4051a9cbee Fixed compile: removed trailing whitespace 2014-03-13 18:59:51 +01:00
Stephan Hesse 26f6f4b0ea Enough to check for this.tech != null 2014-03-13 00:46:00 +01:00
Stephan Hesse cbefd37acf Added comment to triggerReady call 2014-03-13 00:45:06 +01:00
Tom Johnson 378d6ef482 - Bind hide on ended event to resolve issue #1028.
- Remove duplicate seeked event line.
2014-03-11 21:29:14 -07:00
tchakabam 02155c6b13 Trigger ready callback even when no tech available so client app can display custom fallback message 2014-03-11 16:47:51 +01:00
tchakabam 7a4c602be0 Fixes exception when userActive called but tech not initialized 2014-03-11 16:20:12 +01:00
Erin b7cc2a8a4c Prevent mousemove spam
Some platforms produce frequent mousemove events whether or not the mouse has moved. This causes the UI to always be displayed since userActive_ is always `true`. By keeping track of the last mouse position and only firing if the new position is different, we can eleminate the event spam.
2014-03-09 13:39:34 -07:00
Steve Heffernan e7b1098563 Merge branch 'master' of github.com:videojs/video.js 2014-03-06 13:18:58 -08:00
Steve Heffernan a64a5e27cf 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
2014-03-06 13:18:49 -08:00
Steve Heffernan bdeaae1c92 Release 4.4.3 2014-03-06 13:15:53 -08:00
Steve Heffernan e2b2d14f48 Added line to the changelog 2014-03-06 12:55:25 -08:00
Steve Heffernan 96c274de63 Merge branch 'patch/setposter-export' of git://github.com/heff/video-js into heff-patch/setposter-export 2014-03-06 12:49:36 -08:00
Steve Heffernan 6244c39129 Added line to the changelog 2014-03-06 12:48:12 -08:00
Steve Heffernan e4b269e294 Added an IIFE to prevent deoptimization 2014-03-06 12:36:36 -08:00
Gary Katsevman f3166ad082 Add speced event.defaultPrevented 2014-03-06 13:36:40 -05:00
Steve Heffernan 54609dc3f5 Merge pull request #1061 from frankhereford/master
Update the Readme.md file with the current year.
2014-03-05 16:16:04 -08:00
Steve Heffernan 2005fe2136 Exporting tech.setPoster(). Fixes #1028 2014-03-05 16:08:49 -08:00
frankhereford efd4822c6b Update the Readme.md file with the current year. 2014-03-05 17:44:07 -06:00
Steve Heffernan d538debb1d Added try/catch to protect against IE with no Media Player 2014-03-05 15:04:04 -08:00
Steve Heffernan 48230ea1a1 Added line to changelog 2014-03-05 13:42:32 -08:00
Steve Heffernan 661cbd1eb0 Close GH-1059: Added a grunt task for opening the next issue that needs to be addressed. 2014-03-05 13:41:26 -08:00
Steve Heffernan fe2b702e32 Merge branch 'stable' 2014-03-04 11:33:35 -08:00
Steve Heffernan d47435a18f Merge pull request #1057 from paolodina/patch-1
Update setup.md
2014-03-04 11:33:12 -08:00
Steve Heffernan 7c772fbf3e Merge branch 'bugfix/src-getter' of git://github.com/dmlap/video-js into dmlap-bugfix/src-getter
Conflicts:
	src/js/media/flash.js
2014-03-04 11:24:10 -08:00
Paolo Dina 4116d9ec14 Update setup.md 2014-03-04 20:13:14 +01:00
David LaPalomento f155814cd9 Merge pull request #1 from heff/bugfix/src-getter
Made the src method return the player when setting
2014-03-04 14:11:56 -05:00
Steve Heffernan a0f929dd57 Added line to the changelog 2014-03-04 09:32:28 -08:00
Lee Whitaker cc5e515360 Use .npmignore to package a smaller subset of videojs for distribution. Make sure to include the video-js.less file for the designer to use. 2014-03-04 09:50:58 -05:00
Steve Heffernan 2e26703162 Fixed captions positioning when player isn't playing 2014-03-03 13:47:16 -08:00
Steve Heffernan 0ad8abfef1 Added line to the change log 2014-03-03 13:37:46 -08:00
Steve Heffernan 61883ab4e2 Merge branch 'master' of git://github.com/harhoo/video.js into harhoo-master 2014-03-03 13:33:34 -08:00
Steve Heffernan 0f854c751b Merge branch 'stable' 2014-03-03 13:32:51 -08:00
Steve Heffernan 5b133823e5 Updated contrib.json with feature workflow 2014-03-03 13:32:21 -08:00
harhoo 3e19d7621a Whitespace changes 2014-03-03 15:31:47 +00:00
harhoo b0a6cf335a Move captions down when controls are inactive 2014-03-03 10:26:51 +00:00
Steve Heffernan ed78764379 Updated changelog 2014-02-27 17:57:20 -08:00
Steve Heffernan 7f44942c9b Merge branch 'add/component-support' of git://github.com/peteschaffner/video.js into peteschaffner-add/component-support 2014-02-27 17:55:29 -08:00
Steve Heffernan e9da3350d4 Made the src method return the player when setting, and made Flash return the current srouce for flash.src() 2014-02-27 17:34:01 -08:00
Steve Heffernan c6c49ac580 Merge pull request #1040 from ange007/patch-2
There was no semicolon
2014-02-25 16:03:00 -08:00
Pete Schaffner 4b0db76d77 Bump version 2014-02-25 15:32:45 +01:00
Vladimir B. 6b28ba268a There was no semicolon
There was no semicolon
2014-02-25 13:11:03 +02:00
Pete Schaffner 5146c1fa4a Add component.json file 2014-02-25 07:19:24 +01:00
Steve Heffernan b98d719564 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
2014-02-24 22:03:34 -08:00
Steve Heffernan 7aefee5d7d Release 4.4.2 2014-02-24 21:57:43 -08:00
Steve Heffernan c1e623bed7 Added line to the changelog 2014-02-24 21:51:56 -08:00
Steve Heffernan 333db84510 Made module.exports a string key so it'd be exported. fixes #1033 2014-02-24 21:19:06 -08:00
Steve Heffernan 8f40fa4548 Merge branch 'stable' 2014-02-24 21:15:24 -08:00
Steve Heffernan 9c282811e1 Merge pull request #1037 from heff/patch/patch
Added patch process to contrib.json
2014-02-24 21:13:26 -08:00
Steve Heffernan d68f5a93a5 Updated contrib.json with patch commands 2014-02-24 21:10:29 -08:00
Steve Heffernan 1dd8a15655 Updated contrib patch process 2014-02-24 11:32:35 -08:00
Steve Heffernan 3336f1fe02 Merge branch 'stable' 2014-02-19 12:49:47 -08:00
Steve Heffernan 4fe74d52a9 Updated the CDN links in the setup guide 2014-02-19 12:49:29 -08:00
Steve Heffernan 0d58df8edb Merge branch 'stable' 2014-02-18 17:18:25 -08:00
Steve Heffernan f135b97ce0 Fixed the version numbers in the changelog 2014-02-18 17:17:58 -08:00
Steve Heffernan 051657334f Removed dist files 2014-02-18 17:04:21 -08:00
Steve Heffernan 7be94c3882 Release 4.4.1 2014-02-18 17:04:02 -08:00
Steve Heffernan 4f66e09595 Updated changelog 2014-02-18 16:58:11 -08:00
Steve Heffernan 1bb2c7ed57 Added .npmignore so dist/ files won't be ignored in packages 2014-02-18 16:57:14 -08:00
Steve Heffernan 1e781d14df Updated the release process to remove dist files after the release 2014-02-18 15:40:56 -08:00
Steve Heffernan ee9a18d5ac Removed dist files after publishing 2014-02-18 15:09:45 -08:00
Steve Heffernan ce0c4b12d2 Fixed contrib release branch pushes 2014-02-18 14:39:20 -08:00
Steve Heffernan 9e5dce5c14 Release 4.4.0 2014-02-18 13:43:40 -08:00
Steve Heffernan 88dca0a2e2 Fixed contrib release to use bump-only, so it doesn't tag and push 2014-02-18 13:41:56 -08:00
Steve Heffernan 8aa2eb4719 Updated package github url. fixes #1020 2014-02-18 13:31:18 -08:00
Steve Heffernan ecaf748e4f Added a bower.json 2014-02-18 13:27:02 -08:00
Steve Heffernan c9cad9ca1e Updated to the latest version of the swf 2014-02-18 13:19:35 -08:00
Steve Heffernan 956aaa0425 Added release process using contrib.json 2014-02-14 16:52:48 -08:00
Steve Heffernan e062dec423 Fixed grunt file error 2014-02-13 21:09:42 -08:00
Steve Heffernan 8b720ce45a Fixed a mistype 2014-02-13 19:28:13 -08:00
Steve Heffernan 5ab2504e90 Added line to changelog 2014-02-13 19:24:55 -08:00
Steve Heffernan 310a0630c9 Switched to custom universal module definition. closes #998 closes #847 closes #998 2014-02-13 19:20:30 -08:00
Steve Heffernan 468b07c651 Merge branch 'browserify' of git://github.com/gkatsev/video-js into gkatsev-browserify 2014-02-13 14:51:30 -08:00
Steve Heffernan 12c830049e Updated changelog 2014-02-11 17:21:24 -08:00
Steve Heffernan fe4c477da6 Switch this.content references to use the standard this.contentEl_
Also cleaned up some comments and formatting.
2014-02-11 17:20:07 -08:00
Steve Heffernan 24125bbb63 Merge branch 'patch-1' of git://github.com/MrAvenger/video.js into MrAvenger-patch-1 2014-02-11 15:36:06 -08:00
Steve Heffernan e73bb869ce Merge pull request #1005 from uniphil/patch-1
Create 'track' element in the HTML5 shiv sample
2014-02-10 17:30:41 -08:00
Steve Heffernan 5c907e1ce2 Added missing file from minified test suite 2014-02-10 17:24:48 -08:00
Steve Heffernan 8c59405d86 Added missing files from standard test suite 2014-02-10 17:14:46 -08:00
Steve Heffernan 7ade43d91d Merge branch 'bugfix/lastseek-cleanup' of git://github.com/dmlap/video-js into dmlap-bugfix/lastseek-cleanup 2014-02-10 16:17:30 -08:00
Steve Heffernan 49656ab013 Merge branch 'master' of github.com:videojs/video.js 2014-02-10 16:09:32 -08:00
Steve Heffernan 6f83d0b00e Merge branch 'karma-update' of git://github.com/christophercurrie/video.js into christophercurrie-karma-update
Conflicts:
	test/karma.conf.js.example
2014-02-10 16:08:47 -08:00
Phil Schleihauf 71ba5bb062 Create 'track' element in the HTML5 shiv sample
Matches the shiv to the one at [the start of `src/js/core.js`](https://github.com/videojs/video.js/blob/master/src/js/core.js#L8).

Right now it's missing `track`.
2014-02-10 15:40:32 -05:00
Steve Heffernan 11e7028c25 Merge pull request #999 from mmcc/document-passing-element
Update docs to reflect being able to pass an element instead of ID.
2014-02-07 16:53:19 -08:00
Matthew McClure 7926c2d9a6 syntax highlighting and some clarity 2014-02-07 16:52:15 -08:00
Matthew McClure 2b1291816f Update docs to reflect being able to pass an element instead of ID. Closes #844 2014-02-07 16:26:49 -08:00
Gary Katsevman 4d9d06e1c9 Enable building videojs with browserify.
This uses browserify-shim to get browserify to recognize videojs.
It uses dist/video-js/video.js for the main file of the module.
To build using browserify, you just run browserify on the module and
use --standalone (or -s) to make it produce a UMD file.
This seems to work just fine in the browser (and requirejs looks like
it'll work, though, I haven't tested it) but it won't work in node right
now because videojs is doing a lot of stuff with 'document' directly and
its causing problems in node.
2014-02-07 18:28:41 -05:00
Steve Heffernan 0fc76451f9 Adding line to CHANGELOG 2014-02-06 17:15:19 -08:00
Matthew McClure 3cb41c7786 Close GH-971: Quiet down deprecation warnings. 2014-02-06 17:15:01 -08:00
Steve Heffernan 2d5ca1ebc2 Adding line to CHANGELOG 2014-02-06 17:12:00 -08:00
Steve Heffernan 1b45195f9d Close GH-981: Stopped component's dispose event from bubbling up. 2014-02-06 17:11:33 -08:00
Steve Heffernan 04c893208e Added line to changelog 2014-02-06 17:01:49 -08:00
Steve Heffernan 453402a912 Added line to changelog 2014-02-06 17:01:23 -08:00
Steve Heffernan 849521ee66 Merge pull request #988 from golisandeep3/master
Fixed ARIA role attribute for button and slider
2014-02-06 17:00:33 -08:00
Steve Heffernan ef1b239b2a Removed unneeded option in tests 2014-02-06 16:58:25 -08:00
Steve Heffernan 4521c70173 Changed enableUserActivity to enableTouchActivity
Added back tracking of touch+hold
2014-02-06 16:54:35 -08:00
Gary Katsevman 28a4d29934 enable user activity on components by default 2014-02-06 17:04:58 -05:00
Gary Katsevman 9975ed407a Don't enable enableUserActivity on an option 2014-02-06 15:59:57 -05:00
Gary Katsevman 75a23135e6 Report user activity on touchmove if userWasActive 2014-02-06 15:59:10 -05:00
Gary Katsevman 4d2267c1bc use tap events. Report activity on touch move. 2014-02-06 15:40:20 -05:00
Gary Katsevman 44d6cac1b7 Test is for tap events and not user activity 2014-02-05 20:58:30 -05:00
Gary Katsevman e5294848f9 Remove listenToTouchMove. 2014-02-05 20:50:39 -05:00
Gary Katsevman 26c8d3f92c enableUserActivity on component
disableUserActivity on MediaTechController and Player.
MediaTechController does it manually.
2014-02-05 20:41:52 -05:00
Gary Katsevman a7d624affe stop immediate propagation on tap events
Make media tech controller only hide control bar.
2014-02-05 19:22:43 -05:00
Gary Katsevman 4b254a07df remove unused var 2014-02-05 19:19:14 -05:00
Gary Katsevman 07cd9800e8 Fix touch events.
Make components listen to touch events themselves.
Components can have a "listenToTouchMove" property that would report
user activity on touch moves.
Currently, the only problem left is that the MediaTechController emits
tap events to show/hide the controlbar but that causes the control bar
to not be hidden via a tap.
2014-02-05 18:26:44 -05:00
Sandeep Goli b23eba7c8c Fixed ARIA role attribute for button and slider 2014-02-04 11:18:51 -05:00
Steve Heffernan 70ed4fcbb2 Updated changelog 2014-02-03 13:20:03 -08:00
Aalekh Nigam d0f8b3e87e Close GH-977: Inserts Fullscreen events .fixes #688. 2014-02-03 13:17:47 -08:00
David LaPalomento 7184cb4b49 src() called as a getter should return the video src
It can be handy that src() returns the player object when it is invoked but it does not match the behavior of the corresponding property on the video element. Ignoring the spec however, while the video element is running the resource selection algorithm, currentSrc may be undefined. If the video source has been specified through an attribute on the video element, src() is the natural way to expose that URL programmatically. Without this change, it's necessary to bypass the player and interact with the tech directly to determine the value of the src attribute.
2014-01-25 23:16:35 -05:00
Steve Heffernan c597605afd Added line to the changelog 2014-01-23 17:50:23 -08:00
Steve Heffernan d73bfb80b7 Merge branch 'windows-dist' of git://github.com/christophercurrie/video.js into christophercurrie-windows-dist
Conflicts:
	package.json
2014-01-23 17:47:19 -08:00
Steve Heffernan 0dd210dcf3 Added line to changelog 2014-01-23 17:22:14 -08:00
Steve Heffernan e25a9f3207 Merge branch 'seniorflexdeveloper-feature/grunt-swf' 2014-01-23 17:20:19 -08:00
Steve Heffernan e4b4906198 Updated swf version and grunt file references 2014-01-23 17:15:41 -08:00
Steve Heffernan 4dd776c334 Added line to changelog 2014-01-23 16:46:24 -08:00
Steve Heffernan a8afe9c673 Merge pull request #906 from heff/feature/more-exports
Added missing component exports
2014-01-23 16:45:27 -08:00
Steve Heffernan 6a1c0bdd0c Added a line to the changelog 2014-01-23 16:42:48 -08:00
Steve Heffernan 65767f77f8 Merge pull request #948 from christophercurrie/karma-missing-util
Karma example is missing util
2014-01-23 16:40:54 -08:00
Steve Heffernan f5acb89d70 Added a changelog item 2014-01-23 15:47:37 -08:00
Steve Heffernan f152c6a4be Changed video-js swf location 2014-01-23 15:44:52 -08:00
Steve Heffernan cb78815e80 Merge pull request #962 from dmlap/bugfix/touch-detect-test
Fix touch detection test on non-touch devices
2014-01-23 15:43:06 -08:00
David LaPalomento ff1c9c5cf0 Fix touch detection test on non-touch devices
TOUCH_ENABLED is false on non-touch devices which causes our minified API test to fail when opened in a browser on a traditional destktop machine. It worked fine through the command line because apparanetly phantomjs supports touch events (ha!). Check to make sure the property is not undefined instead.
2014-01-23 18:28:46 -05:00
David LaPalomento dd8c25e8d5 Store last seek time in the Flash tech
Instead of caching the last seek time at the player level, cache it in the Flash tech. The only place this value was used was in the progress controls when Flash was loaded, so this simplifies the logic in that component and pushes the hack down into a single location at least.
2014-01-23 18:19:15 -05:00
Steve Heffernan 1cd81ad258 Merge pull request #959 from mmcc/update-setup-docs
Update setup guide
2014-01-23 14:04:49 -08:00
Matthew McClure bf7dd32ff6 update setup docs to reference 4.3 on the CDN 2014-01-23 14:01:48 -08:00
Christopher Currie 9088dfffc9 Use specific launcher versions 2014-01-21 08:45:59 -08:00
Christopher Currie a54d9cdae6 Add dependencies and configuration for all browser launchers 2014-01-21 08:42:40 -08:00
Christopher Currie 51b836d6be Update to karma 0.10/grunt-karma 0.6.
Current version of grunt-karma has ChromeLauncher bugs.
2014-01-17 14:18:09 -08:00
Christopher Currie 0a2167468c Karma example is missing util 2014-01-17 19:39:00 +00:00
Christopher Currie 02eb2d3ee3 Support dist target on Windows 2014-01-16 11:41:17 -08:00
Steve Heffernan 2825f74ba8 Merge branch 'feature/grunt-swf' of git://github.com/seniorflexdeveloper/video.js into seniorflexdeveloper-feature/grunt-swf 2014-01-15 13:52:33 -05:00
Tom Johnson 59a733f14e fix build task 2014-01-10 12:32:38 -08:00
Tom Johnson 0dae44988e use SWF grunt build project. Update gruntfile for dist task to use packaged SWF. Updated sandbox for reference to SWF. 2014-01-07 07:32:16 -08:00
Steve Heffernan dfe4543a0d Adding line to CHANGELOG 2013-12-20 14:14:35 -08:00
Steve Heffernan 0f38d27dcc Close GH-899: Fix firefox+flash mousemove bubbling. Fixes #37 2013-12-20 14:14:00 -08:00
Steve Heffernan 024b031646 Added missing component exports. fixes #903 2013-12-18 17:53:43 -08:00
MrAvenger ec1bea41a5 Update progress-control.js 2013-12-17 15:26:56 +00:00
MrAvenger b1f9450bb3 SeekHandle content
I wanted to use the SeekHandle to show the current time but as far as I could tell it only contained static content, I made this change to allow the content to be updated.

Is this its intended purpose or am I playing with something that has another a different job?
2013-12-17 15:05:03 +00:00
Steve Heffernan 950072ad97 Merge pull request #898 from tuchida/remove-global-userActivity_
Remove added userActivity_ to global
2013-12-16 15:52:08 -08:00
uchida_t 491b9b232b Remove added userActivity_ to global 2013-12-17 08:23:10 +09:00
Steve Heffernan a106924e6d Adding line to CHANGELOG 2013-12-11 13:28:32 -08:00
Benoit Tremblay 6b73df950e Close GH-887: Fix to reuse HTML5 tech (2). Fixes #884 2013-12-11 13:27:47 -08:00
Steve Heffernan 7b23576afc Adding line to CHANGELOG 2013-12-09 16:16:30 -08:00
Steve Heffernan 166cc9c1ef Close GH-878: Moved player exports to externs. 2013-12-09 16:16:09 -08:00
Steve Heffernan 81e49d4361 Merge pull request #875 from dmlap/hotfix/poster-fallback
Fix capability detection for poster image
2013-12-05 13:55:29 -08:00
David LaPalomento 090bc0d12a Fix capability detection for poster image
We were checking if `backgroundSize` was present on the video element, not the style property of the video element. That meant the IE fallback was being used on all platforms and breaks aspect-ratio preserving poster scaling for those browsers that support it.
2013-12-05 11:15:10 -05:00
David LaPalomento beb329ad71 Make textTracks an extern
TextTracks are queried during player initialization whether they're present or not so the method must be present on Player objects. Make sure the method name isn't minified so it's possible to create a Player object without having to extend videojs.Player directly.
2013-12-03 14:09:16 -05:00
Steve Heffernan 2066474096 Adding line to CHANGELOG 2013-12-02 17:37:49 -08:00
Gary Katsevman 432b60f22c Close GH-861: Bug/callstack gh 860. Fixes #860 2013-12-02 17:37:12 -08:00
Steve Heffernan 15a0d7dbb6 Added note to fullscreen externs test 2013-12-02 17:31:18 -08:00
Steve Heffernan c23ca5200c Merge branch 'hotfix/player-externs' of git://github.com/dmlap/video-js into dmlap-hotfix/player-externs
Conflicts:
	Gruntfile.js
2013-12-02 17:29:34 -08:00
Steve Heffernan 522f45f458 Exported util namespace and mergeOptions 2013-12-02 17:11:08 -08:00
Steve Heffernan df57b302da Adding line to CHANGELOG 2013-12-02 17:03:56 -08:00
Steve Heffernan 2aa09fd15a Close GH-862: Add util namespace. 2013-12-02 17:03:32 -08:00
Steve Heffernan 09f81c0c6c Adding line to CHANGELOG 2013-12-02 15:34:19 -08:00
David LaPalomento 75b2171051 Close GH-850: Use qunitjs through npm. 2013-12-02 15:34:00 -08:00
Steve Heffernan 3248bc1258 Adding line to CHANGELOG 2013-12-02 15:30:07 -08:00
David LaPalomento 1cab78347d Close GH-845: Move player id generation. 2013-12-02 15:29:41 -08:00
Steve Heffernan 0cbe95d615 Added a test for the posterImage source getter 2013-12-02 08:11:22 -08:00
Steve Heffernan dcc19dcf04 Adding line to CHANGELOG 2013-11-26 16:57:40 -08:00
Matthew McClure f3fcf9b5b8 Close GH-815: Export text tracks. 2013-11-26 16:57:20 -08:00
Steve Heffernan ef0d63b5ba Modified tests for #838 and updated changelog. closes #838 2013-11-26 16:53:23 -08:00
David LaPalomento 7efcbd5e19 Use externs to prevent obfuscation
Instead of using string literals, create an externs file for the player and use that to ensure fullscreen functionality is never minified.
2013-11-26 18:47:12 -05:00
David LaPalomento c69290c39f Don't use minifiable player methods in fullscreenToggle
Use string literals to lookup fullscreen-related methods on the player object in the fullscreenToggle component. Otherwise, closure compiler replaces them with minified method names and makes it impossible to supply a simpler "player" object with customized fullscreen logic for the fullscreenToggle to interact with.
2013-11-26 18:46:08 -05:00
David LaPalomento cb9447b2c3 Fix typo in test description
availble -> available
2013-11-26 18:45:58 -05:00
David LaPalomento 875fc2ff32 Allow poster to be changed after init. Fixes #525
When poster() is called with a URL, fire a `posterchange` event to update the PosterImage source and update the video element attribute.

Trigger posterchange after updating the tech
Wait until the tech has updated its poster image before alerting components so they don't see the intermediate state in event handlers. Remove unused variable from PosterImage.createEl.

Don't create new img elements each time the poster is set on ie8
Create the img fallback for the poster during PosterImage initialization on ie8 so we can avoid having to check and possibly create it each time the src is set. Add a test to ensure that new elements are not appended to the poster component when the img fallback is in use and the src attribute is modified.

fixing a broken IE8 test, and adding a negative test, for poster switching.

modified the poster-switching test to accomodate IE8
added a negative test for an undefined poster

fixed the assertion message in the 'undefined' image case

fixed test breakage in Firefox and IE10 (quotes were not being handled properly in the test data)

testing:
ran the tests at the command line, and in Chrome, Firefox, IE8, IE10, Firefox and Safari
all passed
2013-11-25 14:49:49 -08:00
Steve Heffernan 1f06a0c6b3 Merge pull request #826 from dsteinbrunner/patch-3
another bad player api link
2013-11-12 18:32:14 -08:00
Steve Heffernan 2f716cddf4 Merge pull request #825 from dsteinbrunner/patch-2
Fixing broken link with what I think it the correct one
2013-11-12 18:30:11 -08:00
David Steinbrunner d653c25025 another bad player api link 2013-11-08 09:42:36 -05:00
David Steinbrunner c2abbb7568 Fixing broken link with what I think it the correct one 2013-11-08 09:39:29 -05:00
Steve Heffernan 9662736766 Updated docs with recent changes 2013-11-05 17:12:20 -08:00
Steve Heffernan b6c902a7b3 Updated doc comments per comments on #801 2013-11-05 17:09:46 -08:00
Steve Heffernan 5308dd41d2 Fixed changelog version 2013-11-04 16:15:15 -08:00
Steve Heffernan 4e216cdddb Bump version to 4.3.0 2013-11-04 16:14:04 -08:00
Steve Heffernan 847472f286 Rotating CHANGELOG 2013-11-04 16:12:11 -08:00
Steve Heffernan df7c91ad92 Generated new API docs 2013-11-04 16:03:51 -08:00
Steve Heffernan 10c3e46e95 Updated demo.html to have a subtitles example. Added demo to CDN. 2013-11-04 15:35:44 -08:00
Steve Heffernan 48f6332f78 Updated to the latest version of the swf 2013-11-04 15:29:32 -08:00
Steve Heffernan d9bb81018b Merge branch 'master' of github.com:videojs/video.js 2013-11-04 15:18:31 -08:00
Steve Heffernan 4e0128bb3d Switched default spinner icon 2013-11-04 15:18:21 -08:00
Steve Heffernan 6c1adb79d2 Merge pull request #812 from nickarnold/bugfix-811
Loadeddata event doc fix. Fixes #811
2013-10-31 11:18:45 -07:00
Nick Arnold 7ee2f864b3 Add missing onLoadedData handler prototype. 2013-10-31 11:37:54 -06:00
Steve Heffernan c85d94a2ce Adding line to CHANGELOG 2013-10-29 11:01:12 -07:00
Matthew McClure 4c6a12898b Close GH-805: Flash - ignore codec info - added tests for #785. 2013-10-29 11:00:54 -07:00
Steve Heffernan 6e3eb5075e Adding line to CHANGELOG 2013-10-28 18:26:13 -07:00
Steve Heffernan f318eb9f1f Close GH-801: API Doc Generation 2. Fixes #747 2013-10-28 18:25:28 -07:00
Steve Heffernan 9bfbceb047 Updated grunt file to point to new CDN font folder 2013-10-17 16:38:13 -07:00
Steve Heffernan c56e6ed37c Adding line to CHANGELOG 2013-10-17 16:28:45 -07:00
Matthew McClure 7a8d808b0e Close GH-784: New loading icons and class to center big play button. 2013-10-17 16:28:21 -07:00
Steve Heffernan 124c62fe24 Adding line to CHANGELOG 2013-10-17 16:07:44 -07:00
Matthew McClure ba20239147 Close GH-783: Export userActive and reportUserActivity. 2013-10-17 16:07:33 -07:00
Steve Heffernan 0c4ab0b449 Adding line to CHANGELOG 2013-10-17 16:06:39 -07:00
J. Tangelder e0794cf4b4 Close GH-777: Fix aria-label big-play-button. 2013-10-17 16:06:16 -07:00
Steve Heffernan 3203c2c5ed Merge branch 'stable' 2013-10-15 13:39:32 -07:00
Steve Heffernan 9ec2556a7c Bump version to 4.2.2 2013-10-15 13:39:30 -07:00
Steve Heffernan d3efe4b04c Rotating CHANGELOG 2013-10-15 13:39:29 -07:00
Steve Heffernan f35ae5c44f Adding line to CHANGELOG 2013-10-15 13:39:27 -07:00
Steve Heffernan 14193c4308 Close GH-776: hotfix: source and duration loading after video element init. Fixes #756, Fixes #775 2013-10-15 13:38:48 -07:00
Steve Heffernan 1bef68a60b Merge pull request #774 from gkatsev/touch
Expand TOUCH_ENABLED and expose it publically
2013-10-10 13:09:55 -07:00
Gary Katsevman e37e870d42 Make sure that vjs.TOUCH_ENABLED is a boolean 2013-10-10 11:47:58 -04:00
Gary Katsevman c5a8cff129 Expand TOUCH_ENABLED and expose it publically 2013-10-09 15:32:01 -04:00
Steve Heffernan 61bc016637 Merge pull request #773 from mmcc/add-shiv-setup
Add instructions for creating your own shiv to setup
2013-10-08 13:06:25 -07:00
Matthew McClure acf41c4882 used "simply" too much 2013-10-08 11:53:15 -07:00
Matthew McClure da3550a6d8 added shiv instructions to setup 2013-10-08 11:51:01 -07:00
Steve Heffernan 3640623147 Merge pull request #680 from clayallsopp/docs_change
Change setup doc URLs to respect current protocol
2013-10-04 09:17:13 -07:00
Steve Heffernan a6198efaca Adding line to CHANGELOG 2013-10-01 17:55:18 -07:00
Jon f07caa2b97 Close GH-720: unmute if the user drags the volume bar slider. 2013-10-01 17:54:59 -07:00
Steve Heffernan 2662ad9c96 Adding line to CHANGELOG 2013-09-19 09:24:22 -07:00
BCJwhisenant 13dbf23c3c Close GH-714: Added support for running tests with Karma. 2013-09-19 09:24:06 -07:00
Steve Heffernan b2098e0efe Merge branch 'stable' 2013-09-09 12:21:53 -07:00
Steve Heffernan faea65a44e Bump version to 4.2.1 2013-09-09 12:21:51 -07:00
Steve Heffernan 50adf355af Rotating CHANGELOG 2013-09-09 12:21:51 -07:00
Steve Heffernan 1d05177627 Adding line to CHANGELOG 2013-09-09 12:21:47 -07:00
Jon Mumm a94259cc73 Close GH-727: Fixed windowLoaded not setting on async script load. Fixes #727 2013-09-09 12:21:00 -07:00
Steve Heffernan a49213e20c Removed sourcemap from compiled output. fixes #712 2013-09-05 13:03:16 -07:00
Steve Heffernan 7b73c2725e Added back in reverted #630 2013-09-04 13:33:27 -07:00
Steve Heffernan 8f53e514de Merge branch 'stable' of github.com:videojs/video.js into stable 2013-09-04 13:30:36 -07:00
Steve Heffernan c39dd5567e Fixed changelog version 2013-09-04 13:30:28 -07:00
Steve Heffernan 8e9db2d662 Rotating CHANGELOG 2013-09-04 13:28:12 -07:00
Steve Heffernan 52c577995c Bump version to 4.2.0 2013-09-04 13:26:45 -07:00
Steve Heffernan efe7a12ccb Fixed IE8 tests and flaky fonts 2013-09-04 11:48:19 -07:00
Steve Heffernan f146ebb179 Fixed the getAttributes test in ie8, which reports all attrs, whether or not they were set 2013-09-03 11:27:50 -07:00
Steve Heffernan 72bf48cf36 Fixed the custom fallback message test which would break when ie8 capitalized tag names 2013-09-03 10:48:48 -07:00
Steve Heffernan e6ecbfe824 Added a line to the changelog 2013-08-27 13:13:07 -07:00
Steve Heffernan 0ccb6dd156 Removed spinner gradient to improve performance 2013-08-27 13:11:08 -07:00
Steve Heffernan 62b4f799b9 Merge branch 'spinner-fixes' of git://github.com/ChALkeR/video.js into ChALkeR-spinner-fixes 2013-08-27 12:53:46 -07:00
Steve Heffernan bd789b8613 Added a line to the changelog 2013-08-27 10:27:41 -07:00
Steve Heffernan 4772e4680b Merge branch '636-incompatible' of git://github.com/jelbourn/video.js into jelbourn-636-incompatible
Conflicts:
	test/unit/player.js
2013-08-27 10:26:32 -07:00
Steve Heffernan 26cc24c59d Merge branch 'export-addremove-class' of git://github.com/theonion/video.js into theonion-export-addremove-class
Conflicts:
	src/js/exports.js
	test/unit/api.js
2013-08-26 16:40:40 -07:00
Steve Heffernan 4bc269992e Adding line to CHANGELOG 2013-08-26 16:31:57 -07:00
Trevor Cook 07351ada80 Close GH-632: Ensure tech is defined before checking tech.isReady_ fixes #631. 2013-08-26 16:31:07 -07:00
Steve Heffernan acb4a43d8a Minor modifications to #627 2013-08-26 16:23:33 -07:00
Steve Heffernan 75dd7c5a3c Adding line to CHANGELOG 2013-08-26 16:14:10 -07:00
David LaPalomento f515ac0236 Close GH-627: Use dashes to format invalid times. 2013-08-26 16:13:54 -07:00
Steve Heffernan 6418531d0c Merge pull request #702 from dmlap/feature/expose-volume-menu
Feature/expose volume menu
2013-08-26 08:54:39 -07:00
Steve Heffernan a04932eaf9 Adding line to CHANGELOG 2013-08-25 19:30:37 -07:00
Steve Heffernan 96f6c2388a Close GH-706: Minor code improvements for lib.js. closes #580. 2013-08-25 19:30:19 -07:00
Steve Heffernan 8721202ec1 Adding line to CHANGELOG 2013-08-25 18:51:24 -07:00
Steve Heffernan 92d16d6409 Close GH-705: Changed tech.feature keys to strings to support external techs. closes #466. 2013-08-25 18:50:59 -07:00
Steve Heffernan 7c2ae3f68c Adding line to CHANGELOG 2013-08-23 15:05:23 -07:00
Jeremy West 7ab3d190f2 Close GH-605: added RTMP support. fixes #559. 2013-08-23 15:05:04 -07:00
David LaPalomento 29668ec45b Fix issue with fractional computed dimensions on Chrome
Chrome 29 on OS X (at least) seems to report fractional dimensions occasionally when integer values are assigned. For example, '123px' might be translated to '123.999998458px'. Parse the value and round it to ignore this slight discrepancy.
2013-08-23 14:16:53 -04:00
David LaPalomento bd18f5b25f Export VolumeMenuButton
Add the volumemenubutton to the list of unminified properties for gcc. Create a test case to verify it doesn't get accidentally removed at some point.
2013-08-23 14:15:58 -04:00
Steve Heffernan 5a6fa37623 Adding line to CHANGELOG 2013-08-19 12:37:38 -07:00
Andrew Abramov e520e1eba4 Close GH-683: gruntfile: removed new line symbol from output_wrapper. fixes #679. 2013-08-19 12:36:43 -07:00
Сковорода Никита Андреевич 2f68bfc7c1 Fix spinner position. 2013-08-19 05:13:40 +04:00
Clay Allsopp 57c576f96c Change setup URLs to respect current protocol 2013-08-11 23:45:07 -07:00
Steve Heffernan acf6d67e0d Updated changelog note 2013-08-09 14:34:20 -07:00
Steve Heffernan d47f78f5d1 Adding line to CHANGELOG 2013-08-09 14:29:52 -07:00
Andy Niccolai 02de927043 Close GH-672: Control bar updates. Fixes #556, Fixes #500, Fixes #374, Fixes #403, Fixes #441, Fixes #193, Fixes #602, Fixes #561, Fixes #281 2013-08-09 14:29:22 -07:00
Jeremy Elbourn 20e2d4e984 Merge branch 'master' of https://github.com/videojs/video.js into 636-incompatible 2013-08-05 14:23:05 -04:00
Jeremy Elbourn ff9165b7da Default incompatibility msg w/ other global options fixes #636 2013-08-05 14:19:20 -04:00
Sean Bloomfield f7a72b1f20 exporting addClass and removeClass. added api existence tests for fadeIn,fadeOut,addClass,removeClass 2013-07-30 15:58:00 -05:00
Steve Heffernan 9030a5655e Revert "Close GH-630: prevent default action for simple html5 media events. fixes #573, fixes #620 (duplicate bug)."
This reverts commit 15544c3d05.
2013-07-30 11:31:33 -07:00
Steve Heffernan 699c476575 Merge pull request #660 from videojs/stable
Close GH-630: prevent default action for simple html5 media events. fixe...
2013-07-30 11:25:07 -07:00
Steve Heffernan b5b0f42888 Adding line to CHANGELOG 2013-07-30 11:12:45 -07:00
Cameron Tangney 15544c3d05 Close GH-630: prevent default action for simple html5 media events. fixes #573, fixes #620 (duplicate bug). 2013-07-30 11:12:30 -07:00
Steve Heffernan 8010b77eb3 Adding line to CHANGELOG 2013-07-30 10:43:27 -07:00
Dominic 15fab6df81 Close GH-654: Export createItems call to enable plugins to hook into process. Fixes #648 2013-07-30 10:43:11 -07:00
Steve Heffernan 89fb86bff7 Adding line to CHANGELOG 2013-07-29 15:49:30 -07:00
Mykhailo Stadnyk 75ff27307d Close GH-643: Fix Player.buffered() to more correct behavior. 2013-07-29 15:48:25 -07:00
Steve Heffernan 1d972a0686 Adding line to CHANGELOG 2013-07-29 15:33:30 -07:00
David Elner 334ff59ff0 Close GH-659: Allow event handlers registered with one() to be removed with off().. Fixes #658 2013-07-29 15:33:10 -07:00
Steve Heffernan a809954495 Exporting component.player. fixes #647 2013-07-29 10:48:10 -07:00
Steve Heffernan 7936d7967d Merge pull request #655 from johneke/master
Add player.dispose() API documentation to api.md
2013-07-29 08:15:43 -07:00
johneke aa64669ca3 Fixed due to feedback from code review
Fixed due to feedback from code review
2013-07-29 11:13:00 -04:00
johneke a726b07538 Add player.dispose() API documentation to api.md 2013-07-25 20:05:28 -04:00
Steve Heffernan ca96297ef9 Adding line to CHANGELOG 2013-07-22 12:14:56 -04:00
Dominic a38ce63474 Close GH-648: Added export for vjs.MenuButton. Fixes #647 2013-07-22 12:14:35 -04:00
Steve Heffernan c8ee76b80e Adding line to CHANGELOG 2013-07-19 20:19:13 -07:00
Steve Heffernan 1eca8add85 Close GH-644: LESS for CSS. 2013-07-19 20:18:39 -07:00
Steve Heffernan 2b1bb60f7e Merge branch 'master' of github.com:videojs/video.js 2013-07-19 10:47:41 -07:00
Steve Heffernan 5aa1ff59b3 Added block quote to readme. 2013-07-19 10:47:30 -07:00
Steve Heffernan 59af460ad4 Merge pull request #639 from eXon/patch-1
Fixed broken link
2013-07-18 16:11:23 -07:00
Jeremy West a449cb043a Close GH-614: added dispose event. fixes #613. 2013-07-18 14:39:14 -07:00
Steve Heffernan 9d424c61f4 Fixed broken on-page link
contribute-code -> contributing-code
2013-07-18 11:48:23 -07:00
Steve Heffernan 91da153c02 Updated readme and contrib guide. closes #645 close #397
With changes from @sh1ps and myself
2013-07-17 17:51:29 -07:00
Steve Heffernan 150facab44 Merge branch 'contrib-guide' of git://github.com/BCjwhisenant/video-js into BCjwhisenant-contrib-guide
Conflicts:
	CONTRIBUTING.md
2013-07-17 17:49:19 -07:00
Benoit Tremblay 3716f3b1f0 Fixed broken link 2013-07-14 11:34:25 -04:00
Jeremy Elbourn 918ee040e1 Allow setting a custom incompatible video message. fixes #636 2013-07-12 16:05:25 -04:00
BCJwhisenant 1c606779c3 Removed an extraneous section at the bottom about Pull Requests.
(since we recommend further up the page to use contribflow)
2013-07-10 12:05:38 -04:00
Steve Heffernan fdf7f4f228 Bump version to 4.1.0 2013-06-28 15:58:25 -07:00
Steve Heffernan c82611d506 Rotating CHANGELOG 2013-06-28 15:56:43 -07:00
Steve Heffernan ed8ed4dd94 Merge branch 'stable' into release/4-1
Conflicts:
	CHANGELOG.md
	contrib.json
	src/js/cdn.js
2013-06-28 15:48:33 -07:00
Steve Heffernan 9f647ef081 Fixed an issue where the tag player reference wasn't getting killed in the minified version 2013-06-28 15:42:47 -07:00
Steve Heffernan c616695e4d Fixed an issue where tag was undefined in iOS 2013-06-28 15:02:21 -07:00
Steve Heffernan 52751a0d67 Adding line to CHANGELOG 2013-06-28 13:07:05 -07:00
Steve Heffernan ffd308e305 Close GH-609: Captions fixes. Fixes #564, Fixes #542 2013-06-28 13:06:50 -07:00
Steve Heffernan b4a07a3d9d Adding line to CHANGELOG 2013-06-28 13:04:00 -07:00
Steve Heffernan db97df69dc Close GH-606: Fix IE9 canPlayType error. Fixes #519 2013-06-28 13:03:38 -07:00
BCJwhisenant 8f45f93c84 A small substitution 2013-06-27 15:21:19 -04:00
BCJwhisenant b6667dfaf6 changes to the contrib guide, based on Apurva's review. 2013-06-27 15:08:10 -04:00
Steve Heffernan 23fc4cca35 Adding line to CHANGELOG 2013-06-26 15:06:10 -07:00
Gary Katsevman 00a043f1e1 Close GH-470: Augment userAgent detection. 2013-06-26 15:05:50 -07:00
BCJwhisenant 9abe53a32e updated the contrib guide to use contribflow commands
fixed a typo
2013-06-26 16:02:34 -04:00
Steve Heffernan 8e5cf7a69d Fixed up some changelog issues 2013-06-24 13:00:19 -07:00
Steve Heffernan fd39878f8b Adding line to CHANGELOG 2013-06-24 12:48:11 -07:00
Steve Heffernan 1ddef27903 Close GH-588: Export bufferedPercent. 2013-06-24 12:47:47 -07:00
Steve Heffernan 19a33cc7c7 Adding line to CHANGELOG 2013-06-24 12:38:30 -07:00
Jon Zepernick 02a1057ff4 Close GH-593: When autoplay = true, delete tag.poster instead of setting to null. 2013-06-24 12:38:05 -07:00
Steve Heffernan a040ce61ad Adding line to CHANGELOG 2013-06-24 12:08:30 -07:00
Sean Bloomfield 042076043b Close GH-581: export Component.prototype.fadeIn/Out. 2013-06-24 12:07:39 -07:00
Steve Heffernan 38d119e75d Merge pull request #585 from fluf1024/patch-1
Changed VideoJS -> videojs in api.md
2013-06-24 11:40:39 -07:00
fluf1024 93c6645744 Changed VideoJS -> videojs in api.md
I think, it's the proper name of the component in the default set.
2013-06-20 08:13:02 +02:00
Steve Heffernan 85c6b46ec8 Merge pull request #576 from Mikhus/master
Some minor code improvements
2013-06-17 11:19:41 -07:00
mstadnyk 1e199da117 Code guidelines fixed 2013-06-17 01:02:29 +03:00
mstadnyk 3a40dcd883 Several minor code improvements.
Actually, tracks.js contains several pieces of code which could
be re-written more effectively. The problem is that in some places
there are conditional checks like this:

    if (condition) {
        call_setter( true);
    } else {
        call_setter( false);
    }

which could be re-written to:

    call_setter( condition);

This improvement saves some bytes of code length, traffic and should
also work more effectively by utilizing less machine resources
2013-06-17 00:18:21 +03:00
Steve Heffernan afc39f711f Normalized CDN language value 2013-06-12 14:44:14 -07:00
Steve Heffernan 8a728a80ac Added uglifyjs which somehow got dropped from #571 2013-06-11 15:35:14 -07:00
Steve Heffernan d932cffd50 Added line to changelog for 4.0.4 2013-06-11 15:29:20 -07:00
Steve Heffernan 6fe5513f30 Bump version to 4.0.4 2013-06-11 15:27:49 -07:00
Steve Heffernan 138b1381c2 Adding line to CHANGELOG 2013-06-11 15:25:40 -07:00
Steve Heffernan 60d389e1f8 Close GH-571: Add analtyics to current CDN version. Fixes #568 2013-06-11 15:25:19 -07:00
Steve Heffernan 93e3b38132 Adding line to CHANGELOG 2013-06-11 15:15:26 -07:00
Steve Heffernan b02f879bf3 Close GH-568: Google Analytics Tracking for CDN. 2013-06-11 15:14:36 -07:00
Steve Heffernan 9997d0a7ef Merge pull request #570 from nsufaisal/patch-1
Update api.md
2013-06-11 10:02:58 -07:00
nsufaisal 3dd0b1d234 Update api.md 2013-06-11 20:49:21 +06:00
Steve Heffernan d27c3102e9 Adding line to CHANGELOG 2013-06-05 10:28:13 -07:00
Steve Heffernan d5d97bd64f Close GH-560: Export global players object. 2013-06-05 10:27:38 -07:00
Steve Heffernan 0ddf8af452 Adding line to CHANGELOG 2013-06-03 13:20:47 -07:00
Steve Heffernan f6bd819c5c Close GH-555: Export requestFullScreen(). 2013-06-03 13:19:46 -07:00
Steve Heffernan 21cd77358a Adding line to CHANGELOG 2013-05-31 16:09:34 -07:00
Steve Heffernan 847e392e0c Close GH-524: Blocking user text selection by default on player components. fixes #46. 2013-05-31 16:09:07 -07:00
Steve Heffernan 8799984a8c Adding line to CHANGELOG 2013-05-31 10:31:57 -07:00
Steve Heffernan 0c4c30a3bd Close GH-553: Turn on tech method queuing. 2013-05-31 10:31:18 -07:00
Steve Heffernan 4db3dba068 Updated contrib.json to match new contribflow values 2013-05-31 09:50:16 -07:00
Steve Heffernan 46731c40c3 Merge branch 'master' of github.com:videojs/video.js 2013-05-31 09:48:18 -07:00
Steve Heffernan 5bc5c40f8a Updated changelog to match new contribflow template 2013-05-31 09:48:02 -07:00
Steve Heffernan d5fe1c40d8 Merge pull request #547 from DracoLi/patch-1
Updated API, changed `size` to `dimensions`
2013-05-29 10:47:01 -07:00
Draco Li 6251acdf56 Updated API, changed size to dimensions
There's no `size()` only `dimensions()`, so updated API to reflect this.
2013-05-29 12:03:40 -03:00
Steve Heffernan 0f21f86521 Merge branch 'stable' 2013-05-28 15:33:31 -07:00
Steve Heffernan ed5ac285c3 Adding line to CHANGELOG 2013-05-28 15:33:09 -07:00
Steve Heffernan 880be64f48 Bump version to 4.0.3 2013-05-28 15:31:11 -07:00
Steve Heffernan 753ce48e21 Close GH-546: Fix for exit-fullscreen bug in 4.0. fixes #497. 2013-05-28 15:29:42 -07:00
Philippe Normand 6b4d811b2f Close GH-515: createEl: dispose reference to cloned element. Fixes #514 2013-05-23 18:40:14 -07:00
Steve Heffernan baac2af4ab Merge branch 'stable' 2013-05-23 13:15:18 -07:00
Steve Heffernan 731ec4fa0b Adding line to CHANGELOG 2013-05-23 13:14:43 -07:00
Steve Heffernan 8dd88d1626 Bump version to 4.0.2 2013-05-23 13:12:43 -07:00
Steve Heffernan 0fe7348456 Close GH-535: Adding version numbers in build. Minifying CSS.. 2013-05-23 13:10:29 -07:00
Steve Heffernan a7dd81f82f Merge branch 'stable' 2013-05-22 18:36:12 -07:00
Steve Heffernan d4168cd2b6 Adding line to CHANGELOG 2013-05-22 18:34:50 -07:00
Steve Heffernan 1f23529cf0 Merge branch 'stable' 2013-05-22 17:25:12 -07:00
Steve Heffernan fe36ae172d Updated contrib.json to have org and project names. 2013-05-20 16:34:57 -07:00
Steve Heffernan a6a443bac3 Updated contrib.json to use new videojs org 2013-05-20 16:02:31 -07:00
Steve Heffernan b3d4ed6459 Added date to changelog 2013-05-20 15:02:26 -07:00
Steve Heffernan f4ac570297 Updated to new changelog layout. Deleted changelog2 test file. 2013-05-20 14:57:48 -07:00
BCjwhisenant c9bba46846 cleaned up more grammar and syntax. 2013-03-22 14:16:27 -04:00
BCjwhisenant d40c33cf65 another clarification to CONTRIBUTING.md 2013-03-22 14:14:22 -04:00
BCjwhisenant 30949a3c83 more updates to CONTRIBUTING.md 2013-03-22 14:11:03 -04:00
BCjwhisenant 5dbb9aabc7 more changes to the CONTRIBUTING.md guide
added guides for the grunt tasks for feature and issue management
2013-03-22 14:07:21 -04:00
BCjwhisenant dc9934b765 Fixed (hopefully) some minor list formatting 2013-03-19 14:03:05 -04:00
BCjwhisenant bf804d5571 Merge commit '80802e68d8f00ac27799a968295b11bd8c8ad19c' into contrib-guide 2013-03-19 13:58:55 -04:00
BCjwhisenant c17d5890d0 clarified some language
added a note about turning off npm colors for windows users
2013-03-19 12:32:13 -04:00
BCjwhisenant 80802e68d8 Fixed formatting in some of the instructions 2013-03-15 22:30:25 -03:00
BCjwhisenant ff957fa9f5 changes to the contributing guide. 2013-03-15 21:20:40 -04:00
357 arquivos alterados com 33458 adições e 16749 exclusões
-21
Ver Arquivo
@@ -1,21 +0,0 @@
/*
Bunyip is a tool for multi-browser/device testing
https://github.com/ryanseddon/bunyip
It uses a few service under the hood including:
Browsertack - http://browserstack.com
Pagekite https://pagekite.net
You'll need accounts at both to use bunyip
You'll also need to download and install pagekite.py
*/
var config = {
"browserstack": {
"username": "your-browserstack-email@example.com",
"password": "your browserstack password",
"timeout": 300
},
"port": 9000,
"tunnellink": "your-subdomain.pagekite.me",
"tunnel": "pagekite.py <port> your-subdomain.pagekite.me"
};
module.exports = config;
+13 -1
Ver Arquivo
@@ -1,6 +1,7 @@
.DS_Store
dist/*
build/files/*
build/temp/*
docs/api/*
dev.html
projects
.zenflow-log
@@ -18,3 +19,14 @@ sandbox/*
*.swo
*.orig
*results.xml
*.log
test/coverage/*
.coveralls.yml
.sass-cache
dist/*
.idea/
+15 -6
Ver Arquivo
@@ -1,7 +1,7 @@
{
"evil" : true,
"validthis": true,
"browser" : true,
"node" : true,
"debug" : true,
"boss" : true,
"expr" : true,
@@ -11,16 +11,22 @@
"trailing" : true,
"undef" : true,
"laxbreak" : true,
"esnext" : true,
"eqeqeq" : true,
"predef" : [
"_V_",
"videojs",
"vjs",
"goog",
"console",
"require",
"require",
"define",
"module",
"exports",
"process",
"PlayerTest",
"DOMException",
"q",
"asyncTest",
"deepEqual",
"equal",
@@ -30,11 +36,14 @@
"notEqual",
"notStrictEqual",
"ok",
"throws",
"QUnit",
"raises",
"start",
"stop",
"strictEqual",
"test"
"test",
"throws",
"sinon"
]
}
+4
Ver Arquivo
@@ -0,0 +1,4 @@
# Exclude everything but the contents of the dist directory.
**/*
!dist/**
!src/css/**
+25 -1
Ver Arquivo
@@ -1,3 +1,27 @@
language: node_js
node_js:
- 0.8
- 0.12
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
notifications:
irc:
channels:
- chat.freenode.net#videojs
use_notice: true
on_success: never
webhooks:
- http://pam.videojs.com/savage/travis
env:
global:
- secure: K6JpKwMkfNaJix3Bb0tLjVMzHMJgtBXdd/dvfw1BMb9DCBpd81PqXbDs7yXCddUxnUPTBPxZCrQgWsw71Wn+qEoIG5MU3uOT5A2rBbx/yZonVAGv5ed/9w0xk0OzO383CmPMFqwqtp9YmdmqGjQBkYXVXJjTvNTOAExFSdhO+3U=
- secure: GIbhjUJapvC70nIZVlhVyK+3KAD2TVKpiY/q412OO7V2izbvcM1tvU3LBoMZbROzrt5TT84tCoJDvHnrpL0OvxPwrzL5CUU7h4UTxhTOyQkEinbYAnWlW9wdrvtdczsEvANkFPqBZ53B3hVHZHMLOG8QRWaTBicF68vSHEJFqb4=
- secure: gglh7xDnURKfXp9T543DD7NG1pQ8HeWh1XtRspBAwr0H7RqJBVDqqODSYSPRFhfld7M6sYmvQIXgil7XlyefnKNTXqCarvaoTg3lbip8kSltXMiNw2V6AVpsQGuja7+XbaM0do70ETTKjW4Kw6wnxEHb78BvGN/hXIeqizUAjanlDAjd7fouaxpTBIbMESe2rI+WRHPis1cmnv8v70Mrh/8Un/NO4gkebGyvA47LTDNIaVqIVjonsndr8WjMv1/PNxQ8LyCO6D64MufrobS7Sec+VuN30apwEsBw8v82MK/MZ3qXu0lUp4+ERTbuc/rymh2wDFTQeG20Kf/NTauSaH6f414KNzIRFj0/xyLAzVZKIscXM2DKXMuskkZuvHLZvaspnZWcPYTjPZl0P88N0RBqnoLdR80dR5bDljNwU2QnSBeol/q1wXNEr6I1VTRFOB+qsHrD1blVMB1I5W3I0ti1aQ7XtgMOGi1kcPb4oFcJdl+3dLFDnyRyaNfdMOnOZYBBHdQCo19Mj/L+nqPGWeeYiEAM6JsuhNjHn5Za5nGf1ztXTimVPOQjyATin0x9kST3soLWSVmdW2dBHUGDVSMhvoLLR+nKSdNQ0KfpqtgrzeLxoVnRYHVBlih41tapM9IG/6BMYnDMaRcc0i54YeUP4oxlxGSyASIenkAgC6w=
- secure: WtIEOSnqDkCZuTlBsxwlVwaRpVTbz7ol8+XSJIZb0aFo1lLisF9cz6s9WrAfX36MaxIcDN9LFZkpXzMvNrNkZWQa1kacGWH1rbx0SiiQ8LMweAcKdnZ5uXlSplBxbJ8bZfXKB1sIHsOsYw/vWhHKkcsDUkAEzQrIiMOhuoUV3s0uKM0knKXIAfNIF0EbDzLIojm+nm+F0n5vM60LRdKesaSt/o2p2LKxdZVoFGrg48D7bdA9VEfMWWRL/evDxJmnX4p+AjBc7mklqZ5F2pYsY6XXQuuS+2Sy+lnxz01kLg+RC4Cpv5dyYfK3h0j8KeyK8IuixycVONWVe9rANq8UaIsMrRN+6uDSC8zXiH4P+h6UDMm3jetc2ZyAfhBA8OyIs5QEShae2Rd7Y3WFJxBp6UVgyj6SkXGxrEdb1ZJgTTl4dyqiP0bYrLePNP2qSJ6OTfNdG791HF077uzXI96ABdMG54Wv9N9T/hmxKwV2Lajx/GZJMmHuwT9tkHKhkcxWea1HYam9QYSFUyJ5THfNk2A9u/r8DkL62MZ85zIQBisrlFjbPAGRejq6qyirBJPAy+FCjhM+oO/i2f2bGkkAfHGT0Og1BcrWVXs54yWdO7UZgie2F+Rmdwinb/GxebZJ+21ZQ4OkVr2t1Skr/PRni9+U7q/6xCLwUJgx45XJ0FE=
sudo: false
cache:
directories:
- node_modules
addons:
firefox: latest
-10
Ver Arquivo
@@ -1,10 +0,0 @@
---
confirm_review: true
backup_remote: false
release_branch: stable
project: videojs
qa_branch: false
staging_branch: false
development_branch: master
remote: origin
confirm_staging: false
+892 -46
Ver Arquivo
@@ -1,41 +1,893 @@
* Added a plugins interface
* Added automated test suite and support for Travis CI.
CHANGELOG
=========
## HEAD (Unreleased)
_(none)_
--------------------
## 5.11.9 (2016-10-25)
* greenkeeper updated karma dependencies ([view](https://github.com/videojs/video.js/pull/3523))
* update to latest uglify to fix preserve comments issue. Disable screw ie8 option. ([view](https://github.com/videojs/video.js/pull/3709))
* remove sourcemap generation ([view](https://github.com/videojs/video.js/pull/3710))
## 5.11.8 (2016-10-17)
* @misteroneill restore timeupdate/loadedmetadata listeners for duration display ([view](https://github.com/videojs/video.js/pull/3682))
## 5.11.7 (2016-09-28)
* @gkatsev checked throwIfWhitespace first in hasElClass ([view](https://github.com/videojs/video.js/pull/3640))
* @misteroneill pinned grunt-contrib-uglify to ~0.11 to pin uglify to ~2.6 ([view](https://github.com/videojs/video.js/pull/3634))
* @gkatsev set playerId on new el created for movingMediaElementInDOM. Fixes #3283 ([view](https://github.com/videojs/video.js/pull/3648))
## 5.11.6 (2016-08-25)
* @imbcmdth Added exception handling to event dispatcher ([view](https://github.com/videojs/video.js/pull/3580))
## 5.11.5 (2016-08-25)
* @misteroneill fixed wrapping native and emulated MediaErrors ([view](https://github.com/videojs/video.js/pull/3562))
* @snyderizer fixed switching between audio tracks. Fixes #3510 ([view](https://github.com/videojs/video.js/pull/3538))
* @jbarabander added title attribute to audio button. Fixes #3528 ([view](https://github.com/videojs/video.js/pull/3565))
* @misteroneill fixed IE8 media error test failure ([view](https://github.com/videojs/video.js/pull/3568))
## 5.11.4 (2016-08-16)
_(none)_
## 5.11.3 (2016-08-15)
* @vdeshpande fixed control text for fullscreen button ([view](https://github.com/videojs/video.js/pull/3485))
* @mister-ben fixed android treating swipe as a tap ([view](https://github.com/videojs/video.js/pull/3514))
* @mboles updated duration() method documentation ([view](https://github.com/videojs/video.js/pull/3515))
* @mister-ben silenced chrome's play() request was interrupted by pause() error ([view](https://github.com/videojs/video.js/pull/3518))
## 5.11.2 (2016-08-09)
_(none)_
## 5.11.1 (2016-08-08)
* @vxsx fixed legend selector to be more specific. Fixes #3492 ([view](https://github.com/videojs/video.js/pull/3494))
## 5.11.0 (2016-07-22)
* @BrandonOCasey Document audio/video track usage ([view](https://github.com/videojs/video.js/pull/3295))
* @hartman Correct documentation to refer to nativeTextTracks option ([view](https://github.com/videojs/video.js/pull/3309))
* @nickygerritsen Also pass tech options to canHandleSource ([view](https://github.com/videojs/video.js/pull/3303))
* @misteroneill Un-deprecate the videojs.players property ([view](https://github.com/videojs/video.js/pull/3299))
* @nickygerritsen Add title to all clickable components ([view](https://github.com/videojs/video.js/pull/3296))
* @nickygerritsen Update Dutch language file ([view](https://github.com/videojs/video.js/pull/3297))
* @hartman Add descriptions and audio button to adaptive classes ([view](https://github.com/videojs/video.js/pull/3312))
* @MattiasBuelens Retain details from tech error ([view](https://github.com/videojs/video.js/pull/3313))
* @nickygerritsen Fix test for tooltips in IE8 ([view](https://github.com/videojs/video.js/pull/3327))
* @mboles added loadstart event to jsdoc ([view](https://github.com/videojs/video.js/pull/3370))
* @hartman added default print styling ([view](https://github.com/videojs/video.js/pull/3304))
* @ldayananda updated videojs to not do anything if no src is set ([view](https://github.com/videojs/video.js/pull/3378))
* @nickygerritsen removed unused tracks when changing sources. Fixes #3000 ([view](https://github.com/videojs/video.js/pull/3002))
* @vit-koumar updated Flash tech to return Infinity from duration instead of -1 ([view](https://github.com/videojs/video.js/pull/3128))
* @alex-phillips added ontextdata to Flash tech ([view](https://github.com/videojs/video.js/pull/2748))
* @MattiasBuelens updated components to use durationchange only ([view](https://github.com/videojs/video.js/pull/3349))
* @misteroneill improved Logging for IE < 11 ([view](https://github.com/videojs/video.js/pull/3356))
* @vdeshpande updated control text of modal dialog ([view](https://github.com/videojs/video.js/pull/3400))
* @ldayananda fixed mouse handling on menus by using mouseleave over mouseout ([view](https://github.com/videojs/video.js/pull/3404))
* @mister-ben updated language to inherit correctly and respect the attribute on the player ([view](https://github.com/videojs/video.js/pull/3426))
* @sashyro fixed nativeControlsForTouch option ([view](https://github.com/videojs/video.js/pull/3410))
* @tbasse fixed techCall null check against tech ([view](https://github.com/videojs/video.js/pull/2676))
* @rbran100 checked src and currentSrc in handleTechReady to work around mixed content issues in chrome ([view](https://github.com/videojs/video.js/pull/3287))
* @OwenEdwards fixed caption settings dialog labels for accessibility ([view](https://github.com/videojs/video.js/pull/3281))
* @OwenEdwards removed spurious head tags in the simple-embed example ([view](https://github.com/videojs/video.js/pull/3438))
* @ntadej added a null check to errorDisplay usage ([view](https://github.com/videojs/video.js/pull/3440))
* @misteroneill fixed logging issues on IE by separating fn.apply and stringify checks ([view](https://github.com/videojs/video.js/pull/3444))
* @misteroneill fixed npm test from running coveralls locally ([view](https://github.com/videojs/video.js/pull/3449))
* @gkatsev added es6-shim to tests. Fixes Flash duration test ([view](https://github.com/videojs/video.js/pull/3453))
* @misteroneill corrects test assertions for older IEs in the log module ([view](https://github.com/videojs/video.js/pull/3454))
* @gkatsev fixed setting lang by looping through loop element variable and not constant tag ([view](https://github.com/videojs/video.js/pull/3455))
## 5.10.8 (2016-08-08)
* @gkatsev re-published to make sure that the audio button has css
## 5.10.7 (2016-06-27)
* @gkatsev pinned node-sass to 3.4 ([view](https://github.com/videojs/video.js/pull/3401))
* @mister-ben added try catch to volume and playbackrate checks. Fixes #3315 ([view](https://github.com/videojs/video.js/pull/3320))
* @m14t removed unused loadEvent property in ControlBar options ([view](https://github.com/videojs/video.js/pull/3363))
* @bklava updated pt-BR language file ([view](https://github.com/videojs/video.js/pull/3373))
* @mister-ben updated menus to use default videojs font-family ([view](https://github.com/videojs/video.js/pull/3384))
* @vdeshpande fixed chapters getting duplicated each time a track is loaded ([view](https://github.com/videojs/video.js/pull/3354))
## 5.10.6 (2016-06-20)
* @gkatsev fix not fully minified video.min.js file.
## 5.10.5 (2016-06-07)
* @gkatsev pinned dependencies to direct versions ([view](https://github.com/videojs/video.js/pull/3338))
* @gkatsev fixed minified vjs in ie8 when initialized with id string ([view](https://github.com/videojs/video.js/pull/3357))
* @IJsLauw fixed unhandled exception in deleting poster on ios7 ([view](https://github.com/videojs/video.js/pull/3337))
## 5.10.4 (2016-05-31)
* Patch release to fix dist on npm
## 5.10.3 (2016-05-27)
* @BrandonOCasey fixed source handlers being disposed multiple times when a video is put into the video element directly ([view](https://github.com/videojs/video.js/pull/3343))
## 5.10.2 (2016-05-12)
* @gkatsev nulled out currentSource_ in setSource ([view](https://github.com/videojs/video.js/pull/3314))
## 5.10.1 (2016-05-03)
* @nickygerritsen Pass tech options to source handlers ([view](https://github.com/videojs/video.js/pull/3245))
* @gkatsev Use fonts 2.0 that do not require wrapping codepoints ([view](https://github.com/videojs/video.js/pull/3252))
* @chrisauclair Make controls visible for accessibility reasons ([view](https://github.com/videojs/video.js/pull/3237))
* @gkatsev updated text track documentation and crossorigin warning. Fixes #1888, #1958, #2628, #3202 ([view](https://github.com/videojs/video.js/pull/3256))
* @BrandonOCasey added audio and video track support ([view](https://github.com/videojs/video.js/pull/3173))
* @OwenEdwards added language attribute in HTML files for accessibility ([view](https://github.com/videojs/video.js/pull/3257))
* @incompl clear currentSource_ after subsequent loadstarts ([view](https://github.com/videojs/video.js/pull/3285))
* @forbesjo add an audio track selector menu button ([view](https://github.com/videojs/video.js/pull/3223))
## 5.9.2 (2016-04-19)
* @gkatsev grouped text track errors in the console, if we can ([view](https://github.com/videojs/video.js/pull/3259))
## 5.9.1 (2016-04-19)
* @benjipott updated IS_CHROME to not be true on MS Edge ([view](https://github.com/videojs/video.js/pull/3232))
* @mister-ben blacklisted Chrome for Android for playback rate support ([view](https://github.com/videojs/video.js/pull/3246))
* @gkatsev made the first emulated text track enabled by default ([view](https://github.com/videojs/video.js/pull/3248))
* @gkatsev fixed removeRemoteTextTracks not working with return value from addRemoteTextTracks ([view](https://github.com/videojs/video.js/pull/3253))
* @forbesjo added back the background color to the poster ([view](https://github.com/videojs/video.js/pull/3267))
* @gkatsev fixed text track tests for older IEs ([view](https://github.com/videojs/video.js/pull/3269))
## 5.9.0 (2016-04-05)
* @gkatsev updated vjs to not add dynamic styles when VIDEOJS_NO_DYNAMIC_STYLE is set ([view](https://github.com/videojs/video.js/pull/3093))
* @OwenEdwards added basic descriptions track support ([view](https://github.com/videojs/video.js/pull/3098))
* @kamilbrenk Added lang
* @arius28 added greek translation file (el.json) ([view](https://github.com/videojs/video.js/pull/3185))
* @ricardosiri68 changed the relative sass paths ([view](https://github.com/videojs/video.js/pull/3147))
* @gkatsev added an option to keep the tooltips inside the player bounds ([view](https://github.com/videojs/video.js/pull/3149))
* @defli added currentWidth and currentHeight methods to the player ([view](https://github.com/videojs/video.js/pull/3144))
* fix IE8 tests for VIDEOJS_NO_DYNAMIC_STYLE ([view](https://github.com/videojs/video.js/pull/3215))
* @OwenEdwards fixed links adding extra tab stop with IE by removing anchor tags on videojs init ([view](https://github.com/videojs/video.js/pull/3194))
* @scaryguy updated videojs cdn urls in the README ([view](https://github.com/videojs/video.js/pull/3195))
* @mister-ben updated the time tooltips to use the chosen font family ([view](https://github.com/videojs/video.js/pull/3213))
* @OwenEdwards improved handling of deprecated use of Button component ([view](https://github.com/videojs/video.js/pull/3236))
* @forbesjo added chrome for PR tests ([view](https://github.com/videojs/video.js/pull/3235))
* @MCGallaspy added vttjs to the self-hosting guide ([view](https://github.com/videojs/video.js/pull/3229))
* @chrisauclair added ARIA region and label to player element ([view](https://github.com/videojs/video.js/pull/3227))
* @andyearnshaw updated document event handlers to use el.ownerDocument ([view](https://github.com/videojs/video.js/pull/3230))
## 5.8.8 (2016-04-04)
* @vtytar fixed auto-setup failing if taking too long to load ([view](http://github.com/videojs/video.js/pull/3233))
* @seescode fixed css failing on IE8 due to incorrect ie8 hack ([view](http://github.com/videojs/video.js/pull/3226))
* @seescode fixed dragging on mute toggle changing the volume ([view](http://github.com/videojs/video.js/pull/3228))
## 5.8.7 (2016-03-29)
* @llun fixed menus from throwing when focused when empty ([view](https://github.com/videojs/video.js/pull/3218))
* @mister-ben added dir=ltr to control bar and loading spinner ([view](https://github.com/videojs/video.js/pull/3221))
* @avreg fixed notSupportedMessage saying video when meaning media ([view](https://github.com/videojs/video.js/pull/3222))
* @mister-ben fixed missing native HTML5 tracks ([view](https://github.com/videojs/video.js/pull/3212))
* @mister-ben updated Arabic language files ([view](https://github.com/videojs/video.js/pull/3225))
## 5.8.6 (2016-03-25)
* @misteroneill fixed typo and indenting in language files ([view](https://github.com/videojs/video.js/pull/3207))
## 5.8.5 (2016-03-17)
* @gkatsev cleared vttjs script handlers on dispose. Fixed tests ([view](https://github.com/videojs/video.js/pull/3189))
## 5.8.4 (2016-03-17)
* @gkatsev changed emulated tracks to in novtt to wait for vttjs to load or error before parsing ([view](https://github.com/videojs/video.js/pull/3181))
## 5.8.3 (2016-03-10)
* @gkatsev fixed keyboard control of menus with titles. Fixes #3164 ([view](https://github.com/videojs/video.js/pull/3165))
## 5.8.2 (2016-03-09)
* @gkatsev fixed chapters menu. Fixes #3062 ([view](https://github.com/videojs/video.js/pull/3163))
## 5.8.1 (2016-03-07)
* @gkatsev updated videojs badges in the README ([view](https://github.com/videojs/video.js/pull/3134))
* @BrandonOCasey converted remaining text-track modules to ES6 ([view](https://github.com/videojs/video.js/pull/3130))
* @gkatsev cleared waiting/spinner on timeupdate. Fixes #3124 ([view](https://github.com/videojs/video.js/pull/3138))
* @BrandonOCasey updated text track unit tests to use full es6 syntax ([view](https://github.com/videojs/video.js/pull/3148))
* @defli added missing var to sandbox index.html example ([view](https://github.com/videojs/video.js/pull/3155))
* @defli fixed typo and updated Turkish translations ([view](https://github.com/videojs/video.js/pull/3156))
* @OwenEdwards fixed menu closing on ios, specifically ipad ([view](https://github.com/videojs/video.js/pull/3158))
## 5.8.0 (2016-02-19)
* @gkatsev added issue and PR templates for github ([view](https://github.com/videojs/video.js/pull/3117))
* @Nipoto added fa.json (farsi/persian lang file) ([view](https://github.com/videojs/video.js/pull/3116))
* @forbesjo updated travis to use latest firefox ([view](https://github.com/videojs/video.js/pull/3112))
* @Naouak updated time display to not change if values do not change ([view](https://github.com/videojs/video.js/pull/3101))
* @forbesjo updated track settings to not fail restoring settings when localStorage is not available ([view](https://github.com/videojs/video.js/pull/3120))
* @mister-ben Added en.json as localization template ([view](https://github.com/videojs/video.js/pull/3096))
* @misteroneill added alt css as video-js-cdn.css ([view](https://github.com/videojs/video.js/pull/3118))
## 5.7.1 (2016-02-11)
* @alex-phillips fixed reference to videojs-vtt.js dependency ([view](https://github.com/videojs/video.js/pull/3080))
* @gkatsev fixed minified videojs in IE8. Fixes #3064 and #3070 ([view](https://github.com/videojs/video.js/pull/3104))
## 5.7.0 (2016-02-04)
* @forbesjo updated emulated tracks to have listeners removed when they are removed ([view](https://github.com/videojs/video.js/pull/3046))
* @incompl improved the UX of time tooltips ([view](https://github.com/videojs/video.js/pull/3060))
* @gkatsev updated README to include links to plugins page and getting started and cleaner link to LICENSE ([view](https://github.com/videojs/video.js/pull/3066))
* @hartman Corrected adaptive layout selectors to match their intent ([view](https://github.com/videojs/video.js/pull/2923))
* @mister-ben updated Umuted to Unmute in lang files ([view](https://github.com/videojs/video.js/pull/3053))
* @hartman updated fullscreen and time controls for more consistent widths ([view](https://github.com/videojs/video.js/pull/2893))
* @hartman Set a min-width for the progress slider of 4em ([view](https://github.com/videojs/video.js/pull/2902))
* @misteroneill fixed iphone useragent detection ([view](https://github.com/videojs/video.js/pull/3077))
* @erikyuzwa added ability to add child component at specific index ([view](https://github.com/videojs/video.js/pull/2540))
## 5.6.0 (2016-01-26)
* @OwenEdwards added ClickableComponent. Fixed keyboard operation of buttons ([view](https://github.com/videojs/video.js/pull/3032))
* @OwenEdwards Fixed menu keyboard access and ARIA labeling for screen readers ([view](https://github.com/videojs/video.js/pull/3033))
* @OwenEdwards Fixed volume menu keyboard access ([view](https://github.com/videojs/video.js/pull/3034))
* @mister-ben made $primary-foreground-color a !default sass var ([view](https://github.com/videojs/video.js/pull/3003))
* @OwenEdwards fixed double-localization of mute toggle control text ([view](https://github.com/videojs/video.js/pull/3017))
* @gkatsev checked muted status when updating volume bar level ([view](https://github.com/videojs/video.js/pull/3037))
* @vitor-faiante updated the guides ([view](https://github.com/videojs/video.js/pull/2781))
* @aril-spetalen added language support for Norwegian (nb and nn) ([view](https://github.com/videojs/video.js/pull/3021))
* @CoWinkKeyDinkInc fixed table in Tracks guide. Replaced some single quotes with double quotes ([view](https://github.com/videojs/video.js/pull/2946))
* @hubdotcom changed URLs in README to be protocol-relative ([view](https://github.com/videojs/video.js/pull/3040))
* @gkatsev updated to latest videojs-ie8 shim ([view](https://github.com/videojs/video.js/pull/3042))
## 5.5.3 (2016-01-15)
* @gkasev updated vjs to correctly return already created player when given an element ([view](https://github.com/videojs/video.js/pull/3006))
* @mister-ben updated CDN urls in setup guide ([view](https://github.com/videojs/video.js/pull/2984))
* @rcrooks fixed a couple of docs link and a jsdoc comment ([view](https://github.com/videojs/video.js/pull/2987))
## 5.5.2 (2016-01-14)
* make sure that styleEl_ is in DOM before removing on dispose ([view](https://github.com/videojs/video.js/pull/3004))
## 5.5.1 (2016-01-08)
* @gkatsev fixed sass if else for icons ([view](https://github.com/videojs/video.js/pull/2988))
## 5.5.0 (2016-01-07)
* @hartman fixed usage of lighten in progress component. Fixes #2793 ([view](https://github.com/videojs/video.js/pull/2875))
* @misteroneill exposed createEl on videojs ([view](https://github.com/videojs/video.js/pull/2926))
* @huitsing updated docstrings for autoplay and loop methods ([view](https://github.com/videojs/video.js/pull/2960))
* @rcrooks fixed some broken links in guides ([view](https://github.com/videojs/video.js/pull/2965))
* @forbesjo fixed errorDisplay erroring on subsequent openings ([view](https://github.com/videojs/video.js/pull/2966))
* @incompl updated build command in CONTRIBUTING.md ([view](https://github.com/videojs/video.js/pull/2967))
* @forbesjo updated player to not autoplay if there is no source ([view](https://github.com/videojs/video.js/pull/2971))
* @gkatsev updated css to have ascii codepoints for fonticons. Expose new scss file ([view](https://github.com/videojs/video.js/pull/2973))
## 5.4.6 (2015-12-22)
* @gkatsev fixed vertical slider alignment in volume menu button ([view](https://github.com/videojs/video.js/pull/2943))
## 5.4.5 (2015-12-15)
* @gkatsev added mouse/touch listeners to volume menu button ([view](https://github.com/videojs/video.js/pull/2638))
* @gkatsev updated styles for inline menu and volume bar ([view](https://github.com/videojs/video.js/pull/2913))
* @BrandonOCasey updated sandbox to to use newer CDN urls ([view](https://github.com/videojs/video.js/pull/2917))
* @hartman updated options guide doc ([view](https://github.com/videojs/video.js/pull/2908))
* @rcrooks fixed simple embed example ([view](https://github.com/videojs/video.js/pull/2915))
## 5.4.4 (2015-12-09)
* @gkatsev switched to use custom vtt.js from npm ([view](https://github.com/videojs/video.js/pull/2905))
## 5.4.3 (2015-12-08)
* @gkatsev updated options customizer and github-release options ([view](https://github.com/videojs/video.js/pull/2903))
## 5.4.2 (2015-12-08)
* @gkatsev updated grunt-release config ([view](https://github.com/videojs/video.js/pull/2900))
## 5.4.1 (2015-12-08)
* @misteroneill updated videojs-ie8 to 1.1.1 ([view](https://github.com/videojs/video.js/pull/2869))
* @gkatsev added Player#tech. Fixes #2617 ([view](https://github.com/videojs/video.js/pull/2883))
* @nick11703 changed multiline comments in sass with single-line comments ([view](https://github.com/videojs/video.js/pull/2827))
* @gkatsev added a Player#reset method. Fixes #2852 ([view](https://github.com/videojs/video.js/pull/2880))
* @chemoish emulated HTMLTrackElement to enable track load events ([view](https://github.com/videojs/video.js/pull/2804))
* @gkatsev added nullcheck for cues in updateForTrack. Fixes #2870 ([view](https://github.com/videojs/video.js/pull/2896))
* @gkatsev added ability to release next tag from master ([view](https://github.com/videojs/video.js/pull/2894))
* @gkatsev added chg- and github- release for next releases ([view](https://github.com/videojs/video.js/pull/2899))
## 5.3.0 (2015-11-25)
* @forbesjo updated formatTime to not go negative ([view](https://github.com/videojs/video.js/pull/2821))
* @imbcmdth added sourceOrder option for source-first ordering in selectSource ([view](https://github.com/videojs/video.js/pull/2847))
## 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))
* @bcvio fixed returning current source rather than blob url ([view](https://github.com/videojs/video.js/pull/2833))
* @tomaspinho added ended event to API docs ([view](https://github.com/videojs/video.js/pull/2836))
* @paladox updated xhr from deprecated ver to v2.2 ([view](https://github.com/videojs/video.js/pull/2837))
## 5.2.1 (2015-11-16)
* @dmlap Check a component is a function before new-ing ([view](https://github.com/videojs/video.js/pull/2814))
* @ksjun corrected the registerTech export ([view](https://github.com/videojs/video.js/pull/2816))
## 5.2.0 (2015-11-10)
* @gkatsev made initListeners more general and added Tech.isTech. Fixes #2767 ([view](https://github.com/videojs/video.js/pull/2773))
* @dmlap updated swf to 5.0.1 ([view](https://github.com/videojs/video.js/pull/2795))
* @gkatsev added a tech registry. Fixes #2772 ([view](https://github.com/videojs/video.js/pull/2782))
* @Lillemanden impoved logic for dividing RTMP paths ([view](https://github.com/videojs/video.js/pull/2787))
* @bdeitte added a test for improved RTMP path dividing logic ([view](https://github.com/videojs/video.js/pull/2794))
* @paladox updated grunt-cli dependency ([view](https://github.com/videojs/video.js/pull/2555))
* @paladox updated grunt-contrib-jshint ([view](https://github.com/videojs/video.js/pull/2554))
* @siebrand updated dutch translations ([view](https://github.com/videojs/video.js/pull/2556))
* @misteroneill exposed DOM helpers ([view](https://github.com/videojs/video.js/pull/2754))
* @incompl fixed broken link to reduced test cases article ([view](https://github.com/videojs/video.js/pull/2801))
* @zjruan updated text track prototype loops to blacklist constructor for IE8 ([view](https://github.com/videojs/video.js/pull/2565))
* @gkatsev fixed usage of textTracksToJson ([view](https://github.com/videojs/video.js/pull/2797))
* @gkatsev updated contrib.json to use / as branch-name separator in feature-accept ([view](https://github.com/videojs/video.js/pull/2803))
* @gkatsev updated MediaLoader to check for techs in their registry ([view](https://github.com/videojs/video.js/pull/2798))
## 5.1.0 (2015-11-02)
* @typcn bumped grunt-sass to ^1.0.0 to support node 4.x ([view](https://github.com/videojs/video.js/pull/2645))
* @gkatsev removed unhelpful isCrossOrigin test ([view](https://github.com/videojs/video.js/pull/2715))
* @forbesjo updated karma to use all installed browsers for unit tests ([view](https://github.com/videojs/video.js/pull/2708))
* @forbesjo removed android/ios tests to increase build stability ([view](https://github.com/videojs/video.js/pull/2739))
* @nickygerritsen added canPlayType method to player ([view](https://github.com/videojs/video.js/pull/2709))
* @gkatsev fixes track tests and ignored empty properties in tracks converter ([view](https://github.com/videojs/video.js/pull/2744))
* @misteroneill added a modal dialog ([view](https://github.com/videojs/video.js/pull/2668))
* @misteroneill removed z-index from big play button ([view](https://github.com/videojs/video.js/pull/2639))
* @DaveVoyles updated URL to player API docs ([view](https://github.com/videojs/video.js/pull/2685))
* @ ([view](https://github.com/videojs/video.js/pull/2691))
* @kahwee Fixed sandbox plugin example to work in Video.js 5 ([view](https://github.com/videojs/video.js/pull/2691))
* @Soviut Fixed argument names in some API docs ([view](https://github.com/videojs/video.js/pull/2714))
* @forbesjo Added Microsoft Caption Maker link ([view](https://github.com/videojs/video.js/pull/2618))
* @misteroneill updated modal dialog CSS ([view](https://github.com/videojs/video.js/pull/2756))
* @misteroneill Add browserify
* @brkattk updated emulateTextTrack to exit early if no textTracks ([view](https://github.com/videojs/video.js/pull/2426))
* @chemoish Fix captions sticking to bottom for webkit browsers. Fixes #2193 ([view](https://github.com/videojs/video.js/pull/2702))
* @imbcmdth Deferred the implementation of select functions in the tech to source handlers if they provide them ([view](https://github.com/videojs/video.js/pull/2760))
## 5.0.2 (2015-10-23)
* @imbcmdth fixed an issue with emulateTextTracks being called before the tech dom was ready ([view](https://github.com/videojs/video.js/pull/2692))
* @gkatsev bumped obj.assign to fix uncaught SecurityError in iframes. Fixes #2703 ([view](https://github.com/videojs/video.js/pull/2721))
* @gkatsev updated contrib update and have contrib release only update local branches ([view](https://github.com/videojs/video.js/pull/2723))
* @gkatsev bumped chg to fix stalling issues ([view](https://github.com/videojs/video.js/pull/2732))
## 5.0.0 (2015-09-29)
* @carpasse infer MIME types from file extensions in the HTML5 and Flash techs ([view](https://github.com/videojs/video.js/pull/1974))
* @mmcc updated the slider to allow for vertical orientation ([view](https://github.com/videojs/video.js/pull/1816))
* @dmlap removed an ie6 hack for flash object embedding ([view](https://github.com/videojs/video.js/pull/1946))
* @heff replaced Closure Compiler with Uglify for minification ([view](https://github.com/videojs/video.js/pull/1940))
* @OleLaursen added a Danish translation ([view](https://github.com/videojs/video.js/pull/1899))
* @dn5 Added new translations (Bosnian, Serbian, Croatian) ([view](https://github.com/videojs/video.js/pull/1897))
* @mmcc (and others) converted the whole project to use ES6, Babel and Browserify ([view](https://github.com/videojs/video.js/pull/1976))
* @heff converted all classes to use ES6 classes ([view](https://github.com/videojs/video.js/pull/1993))
* @mmcc added ES6 default args and template strings ([view](https://github.com/videojs/video.js/pull/2015))
* @dconnolly replaced JSON.parse with a safe non-eval JSON parse ([view](https://github.com/videojs/video.js/pull/2077))
* @mmcc added a new default skin, switched to SASS, modified the html ([view](https://github.com/videojs/video.js/pull/1999))
* @gkatsev removed event.isDefaultPrevented in favor of event.defaultPrevented ([view](https://github.com/videojs/video.js/pull/2081))
* @heff added and `extends` function for external subclassing ([view](https://github.com/videojs/video.js/pull/2078))
* @forbesjo added the `scrubbing` property ([view](https://github.com/videojs/video.js/pull/2080))
* @heff switched to border-box sizing for all player elements ([view](https://github.com/videojs/video.js/pull/2082))
* @forbesjo added a vjs-button class to button controls ([view](https://github.com/videojs/video.js/pull/2084))
* @bc-bbay Load plugins before controls ([view](https://github.com/videojs/video.js/pull/2094))
* @bc-bbay rename onEvent methods to handleEvent ([view](https://github.com/videojs/video.js/pull/2093))
* @dmlap added an error message if techOrder is not in options ([view](https://github.com/videojs/video.js/pull/2097))
* @dconnolly exported the missing videojs.plugin function ([view](https://github.com/videojs/video.js/pull/2103))
* @mmcc added back the captions settings styles ([view](https://github.com/videojs/video.js/pull/2112))
* @gkatsev updated the component.js styles to match the new style guide ([view](https://github.com/videojs/video.js/pull/2105))
* @gkatsev added error logging for bad JSON formatting ([view](https://github.com/videojs/video.js/pull/2113))
* @gkatsev added a sensible toJSON function ([view](https://github.com/videojs/video.js/pull/2114))
* @bc-bbay fixed instance where progress bars would go passed 100% ([view](https://github.com/videojs/video.js/pull/2040))
* @eXon began Tech 2.0 work, improved how tech events are handled by the player ([view](https://github.com/videojs/video.js/pull/2057))
* @gkatsev added get and set global options methods ([view](https://github.com/videojs/video.js/pull/2115))
* @heff added support for fluid widths, aspect ratios, and metadata defaults ([view](https://github.com/videojs/video.js/pull/1952))
* @heff reorganized all utility functions in the codebase ([view](https://github.com/videojs/video.js/pull/2139))
* @eXon made additional tech 2.0 improvements listed in #2126 ([view](https://github.com/videojs/video.js/pull/2166))
* @heff Cleaned up and documented src/js/video.js and DOM functions ([view](https://github.com/videojs/video.js/pull/2182))
* @mmcc Changed to pure CSS slider handles ([view](https://github.com/videojs/video.js/pull/2132))
* @mister-ben updated language support to handle language codes with regions ([view](https://github.com/videojs/video.js/pull/2177))
* @heff changed the 'ready' event to always be asynchronous ([view](https://github.com/videojs/video.js/pull/2188))
* @heff fixed instances of tabIndex that did not have a capital I ([view](https://github.com/videojs/video.js/pull/2204))
* @heff fixed a number of IE8 and Flash related issues ([view](https://github.com/videojs/video.js/pull/2206))
* @heff Reverted .video-js inline-block style to fix Flash fullscreen ([view](https://github.com/videojs/video.js/pull/2217))
* @mmcc switched to using button elements for button components ([view](https://github.com/videojs/video.js/pull/2209))
* @mmcc increased the size of the progress bar and handle on hover ([view](https://github.com/videojs/video.js/pull/2216))
* @mmcc moved the fonts into their own repo ([view](https://github.com/videojs/video.js/pull/2223))
* @mmcc deprecated the options() function and removed internal uses ([view](https://github.com/videojs/video.js/pull/2229))
* @carpasse enhanced events to allow passing a second data argument ([view](https://github.com/videojs/video.js/pull/2163))
* @bc-bbay made the duration display update itself on loadedmetadata ([view](https://github.com/videojs/video.js/pull/2169))
* @arwidt added Swedish and Finnish translations ([view](https://github.com/videojs/video.js/pull/2189))
* @heff moved all the CDN logic into videojs/cdn ([view](https://github.com/videojs/video.js/pull/2230))
* @mmcc fixed the progress handle transition jerkiness ([view](https://github.com/videojs/video.js/pull/2219))
* @dmlap added support for the seekable property ([view](https://github.com/videojs/video.js/pull/2208))
* @mmcc un-hid the current and remaining times by default ([view](https://github.com/videojs/video.js/pull/2241))
* @pavelhoral fixed a bug with user activity that caused the control bar to flicker ([view](https://github.com/videojs/video.js/pull/2299))
* @dmlap updated to videojs-swf@4.7.1 to fix a video dimensions issue on subsequent loads ([view](https://github.com/videojs/video.js/pull/2281))
* @mmcc added the vjs-big-play-centered class ([view](https://github.com/videojs/video.js/pull/2293))
* @thijstriemstra added a logged error when a plugin is missing ([view](https://github.com/videojs/video.js/pull/1931))
* @gkatsev fixed the texttrackchange event and text track display for non-native tracks ([view](https://github.com/videojs/video.js/pull/2215))
* @mischizzle fixed event.relatedTarget in Firefox ([view](https://github.com/videojs/video.js/pull/2025))
* @mboles updated JSDoc comments everywhere to prepare for new docs ([view](https://github.com/videojs/video.js/pull/2270))
* @mmcc added a currentTime tooltip to the progress handle ([view](https://github.com/videojs/video.js/pull/2255))
* @pavelhoral fixed subclassing without a constructor ([view](https://github.com/videojs/video.js/pull/2308))
* @dmlap fixed a vjs_getProperty error caused by a progress check before the swf was ready ([view](https://github.com/videojs/video.js/pull/2316))
* @dmlap exported the videojs.log function ([view](https://github.com/videojs/video.js/pull/2317))
* @gkatsev updated vttjs to fix a trailing comma JSON error ([view](https://github.com/videojs/video.js/pull/2331))
* @gkatsev exported the videojs.bind() function ([view](https://github.com/videojs/video.js/pull/2332))
* Insert cloned el back into DOM. Fixes #2214 ([view](https://github.com/videojs/video.js/pull/2334))
* @heff sped up testing ([view](https://github.com/videojs/video.js/pull/2254))
* pass fs state to player from enterFullscreen, split full-window styles into their own selector ([view](https://github.com/videojs/video.js/pull/2357))
* Fixed vertical option for volumeMenuButton ([view](https://github.com/videojs/video.js/pull/2352))
* @dmlap switched events to not bubble by default ([view](https://github.com/videojs/video.js/pull/2351))
* @dmlap export videojs.createTimeRange ([view](https://github.com/videojs/video.js/pull/2361))
* @dmlap export a basic played() on techs ([view](https://github.com/videojs/video.js/pull/2384))
* @dmlap use seekable on source handlers when defined ([view](https://github.com/videojs/video.js/pull/2376))
* @dmlap fire seeking in the flash tech, not the SWF ([view](https://github.com/videojs/video.js/pull/2372))
* @dmlap expose the xhr helper utility ([view](https://github.com/videojs/video.js/pull/2321))
* @misteroneill fixed internal extends usage and added a deprecation warning ([view](https://github.com/videojs/video.js/pull/2390))
* @eXon added the poster to the options the tech receives ([view](https://github.com/videojs/video.js/pull/2338))
* @eXon made sure the volume persists between tech changes ([view](https://github.com/videojs/video.js/pull/2340))
* @eXon added the language to the options the tech receives ([view](https://github.com/videojs/video.js/pull/2338))
* @mmcc Added &quot;inline&quot; option to MenuButton and updated VolumeMenuButton to be able to utilize it ([view](https://github.com/videojs/video.js/pull/2378))
* @misteroneill restore some properties on window.videojs. ([view](https://github.com/videojs/video.js/pull/2395))
* @misteroneill restore some 4.x utilities and remove deprecated functionality ([view](https://github.com/videojs/video.js/pull/2406))
* @heff use a synchronous ready() internally ([view](https://github.com/videojs/video.js/pull/2392))
* @nickygerritsen scrubbing() is a method, not a property ([view](https://github.com/videojs/video.js/pull/2411))
* @sirlancelot change &quot;video&quot; to &quot;media&quot; in error messages ([view](https://github.com/videojs/video.js/pull/2409))
* @nickygerritsen use the default seekable when a source handler is unset ([view](https://github.com/videojs/video.js/pull/2401))
* @gkatsev always use emulated TextTrackLists so tracks survive tech switches ([view](https://github.com/videojs/video.js/pull/2425))
* @misteroneill restore Html5.Events ([view](https://github.com/videojs/video.js/pull/2421))
* @misteroneill removed the deprecated Component init method ([view](https://github.com/videojs/video.js/pull/2427))
* @misteroneill restore videojs.formatTime ([view](https://github.com/videojs/video.js/pull/2420))
* @misteroneill include child components with &#x60;true&#x60; in options ([view](https://github.com/videojs/video.js/pull/2424))
* @misteroneill create video.novtt.js in dist builds ([view](https://github.com/videojs/video.js/pull/2447))
* @misteroneill pass vtt.js option to tech ([view](https://github.com/videojs/video.js/pull/2448))
* @forbesjo updated the sauce labs config and browser versions ([view](https://github.com/videojs/video.js/pull/2450))
* @mmcc made sure controls respect muted attribute ([view](https://github.com/videojs/video.js/pull/2408))
* @dmlap switched global options back to an object at videojs.options ([view](https://github.com/videojs/video.js/pull/2461))
* @ogun fixed a typo in the Turkish translation ([view](https://github.com/videojs/video.js/pull/2460))
* @gkatsev fixed text track errors on dispose and in cross-browser testing ([view](https://github.com/videojs/video.js/pull/2466))
* @mmcc added type=button to button components ([view](https://github.com/videojs/video.js/pull/2471))
* @mmcc Fixed IE by using setAttribute to set &#x27;type&#x27; property ([view](https://github.com/videojs/video.js/pull/2487))
* @misternoneill fixed vertical slider issues ([view](https://github.com/videojs/video.js/pull/2469))
* @gkatsev moved default and player dimensions to style els at the top of HEAD ([view](https://github.com/videojs/video.js/pull/2482))
* @gkatsev moved default and player dimensions to style els at the top of HEAD el ([view](https://github.com/videojs/video.js/pull/2482))
* @gkatsev removed non-default track auto-disabling ([view](https://github.com/videojs/video.js/pull/2475))
* @gkatsev exported event helpers on videojs object ([view](https://github.com/videojs/video.js/pull/2491))
* @nickygerritsen fixed texttrack handling in IE10 ([view](https://github.com/videojs/video.js/pull/2481))
* @gkatsev deep clone el for iOS to preserve tracks ([view](https://github.com/videojs/video.js/pull/2494))
* @forbesjo switched automated testing to BrowserStack ([view](https://github.com/videojs/video.js/pull/2492))
* @gkatsev fixed nativeControlsForTouch handling. Defaults to native controls on iphone and native android browsers. ([view](https://github.com/videojs/video.js/pull/2499))
* @heff fixed cross-platform track tests by switching to a fake tech ([view](https://github.com/videojs/video.js/pull/2496))
* @gkatsev improved tech controls listener handling. ([view](https://github.com/videojs/video.js/pull/2511))
* @dmlap move seek on replay into the flash tech ([view](https://github.com/videojs/video.js/pull/2527))
* @dmlap @gkatsev improve Flash tech error property and add an error setter to the base tech ([view](https://github.com/videojs/video.js/pull/2517))
* @dmlap update to videojs-swf 5.0.0-rc1 ([view](https://github.com/videojs/video.js/pull/2528))
* @dmlap expose start and end buffered times ([view](https://github.com/videojs/video.js/pull/2501))
* @heff fixed a number of console errors after testing ([view](https://github.com/videojs/video.js/pull/2513))
* @gkatsev made the sass files available via npm in src/css ([view](https://github.com/videojs/video.js/pull/2546))
* @heff removed playerOptions from plugin options because it created an inconsistency in plugin inits ([view](https://github.com/videojs/video.js/pull/2532))
* @heff added a default data attribute to fix the progress handle display in IE8 ([view](https://github.com/videojs/video.js/pull/2547))
* @heff added back the default cdn url for the swf ([view](https://github.com/videojs/video.js/pull/2533))
* @gkatsev fixed the default state of userActive ([view](https://github.com/videojs/video.js/pull/2557))
* @heff fixed event bubbling in IE8 ([view](https://github.com/videojs/video.js/pull/2563))
* @heff cleaned up internal duration handling ([view](https://github.com/videojs/video.js/pull/2552))
* @heff fixed the UI for live streams ([view](https://github.com/videojs/video.js/pull/2557))
* @gkatsev updated opacity of caption settings background color ([view](https://github.com/videojs/video.js/pull/2573))
* @gkatsev made all sass variables !default ([view](https://github.com/videojs/video.js/pull/2574))
* @heff fixed the inline volume control and made it the default ([view](https://github.com/videojs/video.js/pull/2553))
* @forbesjo fixed webkit deprecation warnings ([view](https://github.com/videojs/video.js/pull/2558))
* @forbesjo added Android and iOS browser testing ([view](https://github.com/videojs/video.js/pull/2538))
* @heff improved css selector strengths ([view](https://github.com/videojs/video.js/pull/2583))
* @heff moved scss vars to be private ([view](https://github.com/videojs/video.js/pull/2584))
* @heff added a fancy loading spinner ([view](https://github.com/videojs/video.js/pull/2582))
* @gkatsev added a mouse-hover time display to the progress bar ([view](https://github.com/videojs/video.js/pull/2569))
* @heff added an attributes argument to createEl() ([view](https://github.com/videojs/video.js/pull/2589))
* @heff made tech related functions private in the player ([view](https://github.com/videojs/video.js/pull/2590))
* @heff removed the loadedalldata event ([view](https://github.com/videojs/video.js/pull/2591))
* @dmlap switched to using raynos/xhr for requests ([view](https://github.com/videojs/video.js/pull/2594))
* @heff Fixed double loadstart and ready events ([view](https://github.com/videojs/video.js/pull/2605))
* @gkatsev fixed potential double default style elements ([view](https://github.com/videojs/video.js/pull/2619))
* @imbcmdth extended createTimeRange to support multiple timeranges ([view](https://github.com/videojs/video.js/pull/2604))
* @misteroneill rename &quot;extends&quot; to &quot;extend&quot; for ie8 ([view](https://github.com/videojs/video.js/pull/2624))
* @forbesjo removed the PhantomJS dependency ([view](https://github.com/videojs/video.js/pull/2622))
* @misteroneill re-exposed videojs.TextTrack ([view](https://github.com/videojs/video.js/pull/2625))
* @heff removed a second copy of video.novtt.js from dist ([view](https://github.com/videojs/video.js/pull/2630))
* @heff fixed timeranges deprecation warnings in tests ([view](https://github.com/videojs/video.js/pull/2627))
* @misteroneill updated play control to use its state for icon ([view](https://github.com/videojs/video.js/pull/2636))
* @gkatsev exposed isCrossOrigin and used it to enable CORS for textTrack XHRs ([view](https://github.com/videojs/video.js/pull/2633))
* @misteroneill fixed tsml to be used as a tag for template strings ([view](https://github.com/videojs/video.js/pull/2629))
* @eXon added support for a tech-supplied poster ([view](https://github.com/videojs/video.js/pull/2339))
* @heff improved some skin defaults for external styling ([view](https://github.com/videojs/video.js/pull/2642))
* @heff changed component child lists to arrays instead of objects ([view](https://github.com/videojs/video.js/pull/2477))
## 4.12.15 (2015-08-31)
* @dmlap update to videojs-swf 4.7.4 ([view](https://github.com/videojs/video.js/pull/2463))
* @bc-bbay migrate seeking on replay to the flash tech ([view](https://github.com/videojs/video.js/pull/2519))
* Updated to v4.7.5 of the swf ([view](https://github.com/videojs/video.js/pull/2531))
## 4.12.14 (2015-08-21)
* @gkatsev removed non-default track auto-disabling ([view](https://github.com/videojs/video.js/pull/2468))
## 4.12.13 (2015-08-10)
* @dmlap update to videojs-swf v4.7.3 ([view](https://github.com/videojs/video.js/pull/2457))
## 4.12.12 (2015-07-23)
* @imbcmdth updated source handlers to use bracket notation so they wont break when using minified videojs ([view](https://github.com/videojs/video.js/pull/2348))
* @imbcmdth fix potential triggerReady infinite loop ([view](https://github.com/videojs/video.js/pull/2398))
## 4.12.11 (2015-07-09)
* @saxena-gaurav updated swf to 4.7.2 to fix flash of previous video frame ([view](https://github.com/videojs/video.js/pull/2300))
* @gkatsev updated the vtt.js version to fix JSON issues ([view](https://github.com/videojs/video.js/pull/2327))
* @dmlap fixed an error caused by calling vjs_getProperty on the swf too early ([view](https://github.com/videojs/video.js/pull/2289))
## 4.12.10 (2015-06-23)
* @dmlap update to video-js-swf 4.7.1 ([view](https://github.com/videojs/video.js/pull/2280))
* @imbcmdth src() should not return blob URLs with MSE source handlers ([view](https://github.com/videojs/video.js/pull/2271))
## 4.12.9 (2015-06-15)
* @imbcmdth updated currentSrc to return src instead of blob urls in html5 tech. Fixes #2232 ([view](https://github.com/videojs/video.js/pull/2232))
* @imbcmdth fixed async currentSrc behavior ([view](https://github.com/videojs/video.js/pull/2256))
## 4.12.8 (2015-06-05)
* @dmlap add the seekable property ([view](https://github.com/videojs/video.js/pull/2207))
* @dmlap fix seekable export ([view](https://github.com/videojs/video.js/pull/2227))
## 4.12.7 (2015-05-19)
* @tjenkinson Added background-color to vjs-poster to remove transparent borders around scaled poster image ([view](https://github.com/videojs/video.js/pull/2138))
* @bc-bbay fixed a bug where the player would try to autoplay when there was no source ([view](https://github.com/videojs/video.js/pull/2127))
* @bc-bbay update time display on loadedmetadata ([view](https://github.com/videojs/video.js/pull/2151))
* @dmlap update swf to 4.7 to pick up preload fix ([view](https://github.com/videojs/video.js/pull/2170))
## 4.12.6 (2015-05-07)
* @saxena-gaurav fixed a bug from disposing after changing techs ([view](https://github.com/videojs/video.js/pull/2125))
## 4.12.5 (2015-03-17)
* Updated to videojs-swf v4.5.4 to fix a potential security issue ([view](https://github.com/videojs/video.js/pull/1955))
## 4.12.4 (2015-03-05)
* Randomized the Google Analytics calls to stay under the limit ([view](https://github.com/videojs/video.js/pull/1916))
## 4.12.3 (2015-02-28)
* @heff fixed setting the source to an empty string ([view](https://github.com/videojs/video.js/pull/1905))
## 4.12.2 (2015-02-27)
* @gkatsev fixed disabling of default text tracks ([view](https://github.com/videojs/video.js/pull/1892))
## 4.12.1 (2015-02-19)
* @gkatsev fixed the track list reference while switching techs that use emulated tracks ([view](https://github.com/videojs/video.js/pull/1874))
* @gkatsev fixed a Firefox error with the captions settings select menu options ([view](https://github.com/videojs/video.js/pull/1877))
## 4.12.0 (2015-02-17)
* @PeterDaveHello added a Traditional Chinese translation ([view](https://github.com/videojs/video.js/pull/1729))
* @mmcc updated the hide/show functions to use a class instead of inline styles ([view](https://github.com/videojs/video.js/pull/1681))
* @mister-ben added better handling of the additional videojs() arguments when the player is already initialized ([view](https://github.com/videojs/video.js/pull/1730))
* @anhskohbo added a Vietnamese translation ([view](https://github.com/videojs/video.js/pull/1734))
* @Sxmanek added a Czech translation ([view](https://github.com/videojs/video.js/pull/1739))
* @jcaron23 added the vjs-scrubbing CSS class and prevented menus from showing while scrubbing ([view](https://github.com/videojs/video.js/pull/1741))
* @dmlap fixed URL parsing in IE9 ([view](https://github.com/videojs/video.js/pull/1765))
* @gkatsev Fixed issue where ManualTimeUpdatesOff was not de-registering events ([view](https://github.com/videojs/video.js/pull/1793))
* @brycefisher Added a guide on player disposal ([view](https://github.com/videojs/video.js/pull/1803))
* @toniher added a Catalan translation ([view](https://github.com/videojs/video.js/pull/1794))
* @mmcc added a VERSION key to the videojs object ([view](https://github.com/videojs/video.js/pull/1798))
* @mmcc fixed an issue with text track hiding introduced in #1681 ([view](https://github.com/videojs/video.js/pull/1804))
* @dmlap exported video.js as a named AMD module ([view](https://github.com/videojs/video.js/pull/1844))
* @dmlap fixed poster hiding when the loadstart event does not fire ([view](https://github.com/videojs/video.js/pull/1834))
* @chikathreesix fixed an object delete error in Chrome ([view](https://github.com/videojs/video.js/pull/1858))
* @steverandy fixed an issue with scrolling over the player on touch devices ([view](https://github.com/videojs/video.js/pull/1809))
* @mmcc improved tap sensitivity ([view](https://github.com/videojs/video.js/pull/1830))
* @mister-ben added a vjs-ended class when playback reaches the end of the timeline ([view](https://github.com/videojs/video.js/pull/1857))
* @dmlap Add network and ready state properties ([view](https://github.com/videojs/video.js/pull/1854))
* @woollybogger exported the hasClass function ([view](https://github.com/videojs/video.js/pull/1839))
* @DevGavin fixed the Chinese translation ([view](https://github.com/videojs/video.js/pull/1841))
* @iSimonWeb added font-path variable ([view](https://github.com/videojs/video.js/pull/1847))
* @shoshomiga added a Bulgarian translation ([view](https://github.com/videojs/video.js/pull/1849))
* @ragecub3 added a Turkish translation ([view](https://github.com/videojs/video.js/pull/1853))
* @gkatsev greatly improved text track support and implemented vtt.js as the webvtt parser ([view](https://github.com/videojs/video.js/pull/1749))
* @gkatsev fixed captions showing by default in Chrome and Safari ([view](https://github.com/videojs/video.js/pull/1865))
* @mister-ben fixed a woff warning in Firefox ([view](https://github.com/videojs/video.js/pull/1870))
## 4.11.4 (2015-01-23)
* @heff exported missing source handler functions ([view](https://github.com/videojs/video.js/pull/1787))
* @heff fixed type support checking for an empty src string ([view](https://github.com/videojs/video.js/pull/1797))
* @carpasse fixed a bug in updating child indexes after removing components ([view](https://github.com/videojs/video.js/pull/1814))
* @dmlap fixed a bug where native controls would show after switching techs ([view](https://github.com/videojs/video.js/pull/1811))
* @H1D fixed an issue with file extension type detection ([view](https://github.com/videojs/video.js/pull/1818))
* @bclwhitaker updated to v4.5.3 of video-js-swf ([view](https://github.com/videojs/video.js/pull/1823))
## 4.11.3 (2014-12-19)
* @gdkraus fixed a bug where you could no longer tab-navigate passed a menu button ([view](https://github.com/videojs/video.js/pull/1760))
* @matteos exported the setSource functions so source handlers will work in the minified version ([view](https://github.com/videojs/video.js/pull/1753))
* @matteos fixed RTMP playback ([view](https://github.com/videojs/video.js/pull/1755))
## 4.11.2 (2014-12-17)
* @mmcc fixed a bug where the playback rate menu would not open ([view](https://github.com/videojs/video.js/pull/1716))
* @gkatsev fixed an issue with source handlers that caused subclasses of source handler classes to break ([view](https://github.com/videojs/video.js/pull/1746))
## 4.11.1 (2014-12-04)
* @heff fixed a code bug in track XHR requests ([view](https://github.com/videojs/video.js/pull/1715))
## 4.11.0 (2014-12-04)
* @rutkat updated sliders to use keydown instead of keyup for more responsive key control ([view](https://github.com/videojs/video.js/pull/1616))
* @toloudis fixed an issue with checking for an existing source on the video element ([view](https://github.com/videojs/video.js/pull/1651))
* @rafalwrzeszcz fixed the Flash object tag markup for strict XML ([view](https://github.com/videojs/video.js/pull/1702))
* @thijstriemstra fixed a number of typos in the docs ([view](https://github.com/videojs/video.js/pull/1704))
* @heff added the Source Handler interface for handling advanced formats including adaptive streaming ([view](https://github.com/videojs/video.js/pull/1560))
* @azawawi added an Arabic translation ([view](https://github.com/videojs/video.js/pull/1692))
* @mmcc added functions for better timeout and interval handling ([view](https://github.com/videojs/video.js/pull/1642))
* @mmcc fixed the vdata exception when you dispose a player with tracks ([view](https://github.com/videojs/video.js/pull/1710))
* @nemesreviz added a Hungarian translation ([view](https://github.com/videojs/video.js/pull/1711))
* @heff updated the SWF to the latest version ([view](https://github.com/videojs/video.js/pull/1714))
## 4.10.2 (2014-10-30)
* @heff fixed checking for child options in the parent options to allow for 'false' ([view](https://github.com/videojs/video.js/pull/1630))
* @heff fixed the VolumeMenuButton options to allow passing 'vertical' to the VolumeBar ([view](https://github.com/videojs/video.js/pull/1631))
* @mmcc fixed localization of captions/subtitles menu off buttons ([view](https://github.com/videojs/video.js/pull/1632))
## 4.10.1 (2014-10-29)
@heff removed his own stupid error [view](https://github.com/videojs/video.js/commit/a12dd770572a7f16e436e2332eba7ffbb1f1b9b9)
## 4.10.0 (2014-10-28)
* @aptx4869 fixed an issue where the native JSON parser wasn&#x27;t used ([view](https://github.com/videojs/video.js/pull/1565))
* @andekande improved the German translation ([view](https://github.com/videojs/video.js/pull/1555))
* @OlehTsvirko added a Ukrainian translation ([view](https://github.com/videojs/video.js/pull/1562))
* @OlehTsvirko added a Russian translation ([view](https://github.com/videojs/video.js/pull/1563))
* @thijstriemstra added a Dutch translation ([view](https://github.com/videojs/video.js/pull/1566))
* @heff updated the poster to use CSS styles to display; fixed the poster not showing if not originally set ([view](https://github.com/videojs/video.js/pull/1568))
* @mmcc fixed an issue where errors on source tags could get missed ([view](https://github.com/videojs/video.js/pull/1575))
* @heff enhanced the event listener API to allow for auto-cleanup of listeners on other componenets and elements ([view](https://github.com/videojs/video.js/pull/1588))
* @mmcc fixed an issue with the VolumeButton assuming it was vertical by default ([view](https://github.com/videojs/video.js/pull/1592))
* @DevGavin added a Simplified Chinese translation ([view](https://github.com/videojs/video.js/pull/1593))
* @heff Added the ability to set options for child components directly in the parent options ([view](https://github.com/videojs/video.js/pull/1599))
* @heff turned on the custom html controls for touch devices ([view](https://github.com/videojs/video.js/pull/1617))
## 4.9.1 (2014-10-15)
* Bumped to videojs-swf v4.5.1 to fix a data sanitization issue ([view](https://github.com/videojs/video.js/pull/1587))
## 4.9.0 (2014-09-30)
* @deedos added a Brazilian Portuguese translation ([view](https://github.com/videojs/video.js/pull/1520))
* @baloneysandwiches added a hasClass method ([view](https://github.com/videojs/video.js/pull/1464))
* @mynameisstephen fixed an issue where slider event listeners were not being cleaned up ([view](https://github.com/videojs/video.js/pull/1475))
* @alexrqs cleaned up the Spanish translation ([view](https://github.com/videojs/video.js/pull/1494))
* @t2y added a Japanese translation ([view](https://github.com/videojs/video.js/pull/1497))
* @chikathreesix fixed an issue where data-setup options could be missed ([view](https://github.com/videojs/video.js/pull/1514))
* @seniorflexdeveloper added new translations and translation updates ([view](https://github.com/videojs/video.js/pull/1530))
* @chikathreesix exported the videojs.Flash.embed method ([view](https://github.com/videojs/video.js/pull/1533))
* @doublex fixed an issue with IE7 backwards compatibility ([view](https://github.com/videojs/video.js/pull/1542))
* @mmcc made it possible to override the font-size of captions and subtitles ([view](https://github.com/videojs/video.js/pull/1547))
* @philipgiuliani added an Italian translation ([view](https://github.com/videojs/video.js/pull/1550))
* @twentyrogersc fixed the return value when setting the poster source ([view](https://github.com/videojs/video.js/pull/1552))
* @heff updated to swf v4.5.0 to fix event issues ([view](https://github.com/videojs/video.js/pull/1554))
* @rpless made the VolumeMenuButton volume more accesible via tab navigation ([view](https://github.com/videojs/video.js/pull/1519))
* @mmcc added support for audio tags (html5 audio only) ([view](https://github.com/videojs/video.js/pull/1540))
## 4.8.5 (2014-09-25)
* Updated to the latest version of the swf to fix HLS playback ([view](https://github.com/videojs/video.js/pull/1538))
## 4.8.4 (2014-09-23)
* @gkatsev fixed isFullscreen reporting on iOS devices ([view](https://github.com/videojs/video.js/pull/1511))
## 4.8.3 (2014-09-22)
* @heff updated to the latest version of the SWF to 4.4.4 ([view](https://github.com/videojs/video.js/pull/1526))
## 4.8.2 (2014-09-16)
* @gkatsev fixed an IE11 bug where pause was not fired when the video ends ([view](https://github.com/videojs/video.js/pull/1512))
## 4.8.1 (2014-09-05)
* @dmlap fixed an issue where an error could be fired after player disposal ([view](https://github.com/videojs/video.js/pull/1481))
* @dmlap fixed poster error handling ([view](https://github.com/videojs/video.js/pull/1482))
* @dmlap fixed an issue with languages and subclassing the player ([view](https://github.com/videojs/video.js/pull/1483))
* @mmcc fixed a few CSS issues with the poster and the error 'X' ([view](https://github.com/videojs/video.js/pull/1487))
* @MrVaykadji and @Calinou added a french translation ([view](https://github.com/videojs/video.js/pull/1467))
* @heff fixed an internal deprecation warning and missing deprecated functions ([view](https://github.com/videojs/video.js/pull/1488))
## 4.8.0 (2014-09-03)
* @andekande added a German translation ([view](https://github.com/videojs/video.js/pull/1426))
* @mattosborn fixed a bug where getting the video element src would overwrite it ([view](https://github.com/videojs/video.js/pull/1430))
* @songpete fixed a bug where keyboard events were bubbling and causing additional actions ([view](https://github.com/videojs/video.js/pull/1455))
* @knabar made the inactivity timeout configurable ([view](https://github.com/videojs/video.js/pull/1409))
* @seniorflexdeveloper added language files to the distribution for including specific languages ([view](https://github.com/videojs/video.js/pull/1453))
* @gkatsev improved handling of null and NaN dimension values ([view](https://github.com/videojs/video.js/pull/1449))
* @gkatsev fixed an issue where the controls would break if Flash was initialized too quickly ([view](https://github.com/videojs/video.js/pull/1470))
* @mmcc fixed an issue where if no playback tech was supported the error could not be caught ([view](https://github.com/videojs/video.js/pull/1473))
## 4.7.3 (2014-08-20)
* Added function for adding new language translations, updated docs, and fixed the notSupportedMessage translation ([view](https://github.com/videojs/video.js/pull/1427))
* Exposed the player.selectSource method to allow overriding the source selection order ([view](https://github.com/videojs/video.js/pull/1424))
## 4.7.2 (2014-08-14)
* Fixed a case where timeupdate events were not firing, and fixed and issue with the Flash player version ([view](https://github.com/videojs/video.js/pull/1417))
## 4.7.1 (2014-08-06)
* Fixed the broken bower.json config ([view](https://github.com/videojs/video.js/pull/1401))
## 4.7.0 (2014-08-05)
* Added cross-browser isArray for cross-frame support. fixes #1195 ([view](https://github.com/videojs/video.js/pull/1218))
* Fixed support for webvtt chapters. Fixes #676. ([view](https://github.com/videojs/video.js/pull/1221))
* Fixed issues around webvtt cue time parsing. Fixed #877, fixed #183. ([view](https://github.com/videojs/video.js/pull/1236))
* Fixed an IE11 issue where clicking on the video wouldn&#x27;t show the controls ([view](https://github.com/videojs/video.js/pull/1291))
* Added a composer.json for PHP packages ([view](https://github.com/videojs/video.js/pull/1241))
* Exposed the vertical option for slider controls ([view](https://github.com/videojs/video.js/pull/1303))
* Fixed an error when disposing a tech using manual timeupdates ([view](https://github.com/videojs/video.js/pull/1312))
* Exported missing Player API methods (remainingTime, supportsFullScreen, enterFullWindow, exitFullWindow, preload) ([view](https://github.com/videojs/video.js/pull/1328))
* Added a base for running saucelabs tests from grunt ([view](https://github.com/videojs/video.js/pull/1215))
* Added additional browsers for saucelabs testing ([view](https://github.com/videojs/video.js/pull/1216))
* Added support for listening to multiple events through a types array ([view](https://github.com/videojs/video.js/pull/1231))
* Exported the vertical option for the volume slider ([view](https://github.com/videojs/video.js/pull/1378))
* Fixed Component trigger function arguments and docs ([view](https://github.com/videojs/video.js/pull/1310))
* Now copying all attributes from the original video tag to the generated video element ([view](https://github.com/videojs/video.js/pull/1321))
* Added files to be ignored in the bower.json ([view](https://github.com/videojs/video.js/pull/1337))
* Fixed an error that could happen if Flash was diposed before the ready callback was fired ([view](https://github.com/videojs/video.js/pull/1340))
* The up and down arrows can now be used to control sliders in addition to left and right ([view](https://github.com/videojs/video.js/pull/1345))
* Added a player.currentType() function to get the MIME type of the current source ([view](https://github.com/videojs/video.js/pull/1320))
* Fixed a potential conflict with other event listener shims ([view](https://github.com/videojs/video.js/pull/1363))
* Added support for multiple time ranges in the load progress bar ([view](https://github.com/videojs/video.js/pull/1253))
* Added vjs-waiting and vjs-seeking css classnames and updated the spinner to use them ([view](https://github.com/videojs/video.js/pull/1351))
* Now restoring the original video tag attributes on a tech change to support webkit-playsinline ([view](https://github.com/videojs/video.js/pull/1369))
* Fixed an issue where the user was unable to scroll/zoom page if touching the video ([view](https://github.com/videojs/video.js/pull/1373))
* Added "sliding" class for when slider is sliding to help with handle styling ([view](https://github.com/videojs/video.js/pull/1385))
## 4.6.4 (2014-07-11)
* Fixed an issue where Flash autoplay would not show the controls ([view](https://github.com/videojs/video.js/pull/1343))
## 4.6.3 (2014-06-12)
* Updated to version 4.4.1 of the SWF ([view](https://github.com/videojs/video.js/pull/1285))
* Fixed a minification issue with the fullscreen event. fixes #1282 ([view](https://github.com/videojs/video.js/pull/1286))
## 4.6.2 (2014-06-10)
* Fixed an issue with the firstplay event not firing when autoplaying ([view](https://github.com/videojs/video.js/pull/1271))
## 4.6.1 (2014-05-20)
* Udpated playbackRate menu to work in minified version ([view](https://github.com/videojs/video.js/pull/1223))
## 4.6.0 (2014-05-20)
* Updated the UI to support live video ([view](https://github.com/videojs/video.js/pull/1121))
* The UI now resets after a source change ([view](https://github.com/videojs/video.js/pull/1124))
* Now assuming smart CSS defaults for sliders to prevent reflow on player init ([view](https://github.com/videojs/video.js/pull/1122))
* Fixed the title element placement in menus [[view](https://github.com/videojs/video.js/pull/1114)]
* Fixed title support for menu buttons ([view](https://github.com/videojs/video.js/pull/1128))
* Fixed extra mousemove events on Windows caused by certain apps, not users [[view](https://github.com/videojs/video.js/pull/1068)]
* Fixed error due to undefined tech when no source is supported [[view](https://github.com/videojs/video.js/pull/1172)]
* Fixed the progress bar not finishing when manual timeupdate events are used [[view](https://github.com/videojs/video.js/pull/1173)]
* Added a more informative and styled fallback message for non-html5 browsers [[view](https://github.com/videojs/video.js/pull/1181)]
* Added the option to provide an array of child components instead of an object [[view](https://github.com/videojs/video.js/pull/1093)]
* Fixed casing on webkitRequestFullscreen [[view](https://github.com/videojs/video.js/pull/1101)]
* Made tap events on mobile less sensitive to touch moves [[view](https://github.com/videojs/video.js/pull/1111)]
* Fixed the default flag for captions/subtitles tracks [[view](https://github.com/videojs/video.js/pull/1153)]
* Fixed compilation failures with LESS v1.7.0 and GRUNT v0.4.4 [[view](https://github.com/videojs/video.js/pull/1180)]
* Added better error handling across the library [[view](https://github.com/videojs/video.js/pull/1197)]
* Updated captions/subtiles file fetching to support cross-origin requests in older IE browsers [[view](https://github.com/videojs/video.js/pull/1095)]
* Added support for playback rate switching [[view](https://github.com/videojs/video.js/pull/1132)]
* Fixed an issue with the loadstart event order that caused the big play button to not hide [[view](https://github.com/videojs/video.js/pull/1209)]
* Modernized the fullscreen API and added support for IE11 [[view](https://github.com/videojs/video.js/pull/1205)]
* Added cross-browser testing with SauceLabs, and added Karma as the default test runner ([view](https://github.com/videojs/video.js/pull/1187))
* Fixed saucelabs integration to run on commits in TravisCI ([view](https://github.com/videojs/video.js/pull/1214))
* Added a clearer error message when a tech is undefined ([view](https://github.com/videojs/video.js/pull/1210))
* Added a cog icon to the font icons ([view](https://github.com/videojs/video.js/pull/1211))
* Added a player option to offset the subtitles/captions timing ([view](https://github.com/videojs/video.js/pull/1212))
## 4.5.2 (2014-04-12)
* Updated release versioning to include bower.json and component.json
## 4.5.1 (2014-03-27)
* Fixed a bug from the last release where canPlaySource was no longer exported
## 4.5.0 (2014-03-27)
* Added component(1) support ([view](https://github.com/videojs/video.js/pull/1032))
* Captions now move down when controls are hidden ([view](https://github.com/videojs/video.js/pull/1053))
* Added the .less source file to the distribution files ([view](https://github.com/videojs/video.js/pull/1056))
* Changed src() to return the current selected source ([view](https://github.com/videojs/video.js/pull/968))
* Added a grunt task for opening the next issue that needs addressing ([view](https://github.com/videojs/video.js/pull/1059))
* Fixed Android 4.0+ devices' check for HLS support ([view](https://github.com/videojs/video.js/pull/1084))
## 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))
## 4.4.1 (2014-02-18)
* Added .npmignore so dist files wouldn't be ignored in packages
## 4.4.0 (2014-02-18)
* Made the poster updateable after initialization ([view](https://github.com/videojs/video.js/pull/838))
* Exported more textTrack functions ([view](https://github.com/videojs/video.js/pull/815))
* Moved player ID generation to support video tags with no IDs ([view](https://github.com/videojs/video.js/pull/845))
* Moved to using QUnit as a dependency ([view](https://github.com/videojs/video.js/pull/850))
* Added the util namespace for public utility functions ([view](https://github.com/videojs/video.js/pull/862))
* Fixed an issue with calling duration before Flash is loaded ([view](https://github.com/videojs/video.js/pull/861))
* Added player methods to externs so they can be overridden ([view](https://github.com/videojs/video.js/pull/878))
* Fixed html5 playback when switching between media techs ([view](https://github.com/videojs/video.js/pull/887))
* Fixed Firefox+Flash mousemove events so controls don't hide permanently ([view](https://github.com/videojs/video.js/pull/899))
* Fixed a test for touch detection ([view](https://github.com/videojs/video.js/pull/962))
* Updated the src file list for karma tests ([view](https://github.com/videojs/video.js/pull/948))
* Added more tests for API properties after minification ([view](https://github.com/videojs/video.js/pull/906))
* Updated projet to use npm version of videojs-swf ([view](https://github.com/videojs/video.js/pull/930))
* Added support for dist zipping on windows ([view](https://github.com/videojs/video.js/pull/944))
* Fixed iOS fullscreen issue ([view](https://github.com/videojs/video.js/pull/977))
* Fixed touch event bubbling ([view](https://github.com/videojs/video.js/pull/992))
* Fixed ARIA role attribute for button and slider ([view](https://github.com/videojs/video.js/pull/988))
* Fixed an issue where a component's dispose event would bubble up ([view](https://github.com/videojs/video.js/pull/981))
* Quieted down deprecation warnings ([view](https://github.com/videojs/video.js/pull/971))
* Updated the seek handle to contain the current time ([view](https://github.com/videojs/video.js/pull/902))
* Added requirejs and browserify support (UMD) ([view](https://github.com/videojs/video.js/pull/998))
## 4.3.0 (2013-11-04)
* Added Karma for cross-browser unit testing ([view](https://github.com/videojs/video.js/pull/714))
* Unmuting when the volume is changed ([view](https://github.com/videojs/video.js/pull/720))
* Fixed an accessibility issue with the big play button ([view](https://github.com/videojs/video.js/pull/777))
* Exported user activity methods ([view](https://github.com/videojs/video.js/pull/783))
* Added a classname to center the play button and new spinner options ([view](https://github.com/videojs/video.js/pull/784))
* Added API doc generation ([view](https://github.com/videojs/video.js/pull/801))
* Added support for codecs in Flash mime types ([view](https://github.com/videojs/video.js/pull/805))
## 4.2.2 (2013-10-15)
* Fixed a race condition that would cause videos to fail in Firefox ([view](https://github.com/videojs/video.js/pull/776))
## 4.2.1 (2013-09-09)
* Fixed an infinite loop caused by loading the library asynchronously ([view](https://github.com/videojs/video.js/pull/727))
## 4.2.0 (2013-09-04)
* Added LESS as a CSS preprocessor for the default skin ([view](https://github.com/videojs/video.js/pull/644))
* Exported MenuButtons for use in the API ([view](https://github.com/videojs/video.js/pull/648))
* Fixed ability to remove listeners added with one() ([view](https://github.com/videojs/video.js/pull/659))
* Updated buffered() to account for multiple loaded ranges ([view](https://github.com/videojs/video.js/pull/643))
* Exported createItems() for custom menus ([view](https://github.com/videojs/video.js/pull/654))
* Preventing media events from bubbling up the DOM ([view](https://github.com/videojs/video.js/pull/630))
* Major reworking of the control bar and many issues fixed ([view](https://github.com/videojs/video.js/pull/672))
* Fixed an issue with minifiying the code on Windows systems ([view](https://github.com/videojs/video.js/pull/683))
* Added support for RTMP streaming through Flash ([view](https://github.com/videojs/video.js/pull/605))
* Made tech.features available to external techs ([view](https://github.com/videojs/video.js/pull/705))
* Minor code improvements ([view](https://github.com/videojs/video.js/pull/706))
* Updated time formatting to support NaN and Infinity ([view](https://github.com/videojs/video.js/pull/627))
* Fixed an `undefined` error in cases where no tech is loaded ([view](https://github.com/videojs/video.js/pull/632))
* Exported addClass and removeClass for player components ([view](https://github.com/videojs/video.js/pull/661))
* Made the fallback message customizable ([view](https://github.com/videojs/video.js/pull/638))
* Fixed an issue with the loading spinner placement and rotation ([view](https://github.com/videojs/video.js/pull/694))
* Fixed an issue with fonts being flaky in IE8
## 4.1.0 (2013-06-28)
* Turned on method queuing for unready playback technologies (flash) [view](https://github.com/videojs/video.js/pull/553)
* Blocking user text selection on player components [view](https://github.com/videojs/video.js/pull/524)
* Exported requestFullScreen() and cancelFullScreen() in the minified version [view](https://github.com/videojs/video.js/pull/555)
* Exported the global players reference, videojs.players [view](https://github.com/videojs/video.js/pull/560)
* Added google analytics to the CDN version ([view](https://github.com/videojs/video.js/pull/568))
* Exported fadeIn/fadeOut for the Component API ([view](https://github.com/videojs/video.js/pull/581))
* Fixed an IE poster error when autoplaying ([view](https://github.com/videojs/video.js/pull/593))
* Exported bufferedPercent for the API ([view](https://github.com/videojs/video.js/pull/588))
* Augmented user agent detection, specifically for Android versions ([view](https://github.com/videojs/video.js/pull/470))
* Fixed IE9 canPlayType error ([view](https://github.com/videojs/video.js/pull/606))
* Fixed various issues with captions ([view](https://github.com/videojs/video.js/pull/609))
## 4.0.4 (2013-06-11)
* Added google analytics to current CDN version. ([view](https://github.com/videojs/video.js/pull/571))
## 4.0.3 (2013-05-28)
* Fixed an bug with exiting fullscreen. [view](https://github.com/videojs/video.js/pull/546)
## 4.0.2 (2013-05-23)
* Correct version number for CDN swf url. Minify CSS. [view](https://github.com/videojs/video.js/pull/535)
## 4.0.1 (2013-05-22)
* Fixed old IE font loading [view](https://github.com/videojs/video.js/pull/532)
## 4.0.0 (2013-05-09)
* Improved performance through an 18% size reduction using Google Closure Compiler in advanced mode
* Greater stability through an automated cross-browser/device test suite using TravisCI, Bunyip, and Browserstack.
* New plugin interface and plugin listing for extending Video.js
* New default skin design that uses font icons for greater customization
* Responsive design and retina display support
* Improved accessibility through better ARIA support
* Moved to Apache 2.0 license
* 100% JavaScript development tool set including Grunt
* Updated docs to use Github markdown
* Allow disabling of default components
* Duration is now setable (need ed for HLS m3u8 files)
* Event binders (on/off/one) now return the player instance
* Stopped player from going back to beginningg on ended event.
* Stopped player from going back to beginning on ended event
* Added support for percent width/height and fluid layouts
* Improved load order of elements to reduce reflow.
* Changed addEvent function name to 'on'.
* Improved load order of elements to reduce reflow
* Changed addEvent function name to 'on'
* Removed conflicting array.indexOf function
* Added exitFullScreen to support BlackBerry devices (pull/143)
--------------------------------------------------------------------------------
^ ADD NEW CHANGES ABOVE ^
--------------------------------------------------------------------------------
CHANGELOG
=========
## 3.2.0 (2012-03-20)
* Updated docs with more options.
* Overhauled HTML5 Track support.
* Fixed Flash always autoplaying when setting source.
* Fixed localStorage context
* Updated 'fullscreenchange' event to be called even if the user presses escape to exit fullscreen.
* Automatically converting URsource URL to absolute for Flash fallback.
* Created new 'loadedalldata' event for when the source is completely downloaded
* Improved player.destroy(). Now removes elements and references.
* Refactored API to be more immediately available.
---- 3.0.3 / 2012-01-12 / doc-change -------------------------------------------
* Added line to docs to test zenflow
### Patches
* 3.2.1 (2012-04-06) Fixed setting width/height with javascript options
* 3.2.2 (2012-05-02) Fixed error with multiple controls fading listeners
* 3.2.3 (2012-11-12) Fixed chrome spinner continuing on seek
---- 3.0.4 / 2012-01-12 / undefined-source-fix ---------------------------------
* Fixing an undefined source when no sources exist on load
---- 3.0.5 / 2012-01-12 / event-layer-x-deprecation-fix ------------------------
* Removed deprecated event.layerX and layerY
---- 3.0.6 / 2012-01-12 / docs-url-fix -----------------------------------------
* Fixed wrong URL for CDN in docs
---- 3.0.7 / 2012-01-12 / fixing-ie8-poster-bug --------------------------------
* Fixed an ie8 breaking bug with the poster
---- 3.0.8 / 2012-01-23 / fix-ie-controls-hiding -------------------------------
* Fixed issue with controls not hiding in IE due to no opacity support
---- 3.1.0 / 2012-01-30 / leonardo ---------------------------------------------
## 3.1.0 (2012-01-30)
* Added CSS fix for Firefox 9 fullscreen (in the rare case that it's enabled)
* Replaced swfobject with custom embed to save file size.
* Added flash iframe-mode, an experimental method for getting around flash reloading issues.
@@ -49,22 +901,16 @@ CHANGELOG
* Made full-window mode more independent
* Added rakefile for release generation
---- 3.2.0 / 2012-03-20 / baxter -----------------------------------------------
* Updated docs with more options.
* Overhauled HTML5 Track support.
* Fixed Flash always autoplaying when setting source.
* Fixed localStorage context
* Updated 'fullscreenchange' event to be called even if the user presses escape to exit fullscreen.
* Automatically converting URsource URL to absolute for Flash fallback.
* Created new 'loadedalldata' event for when the source is completely downloaded
* Improved player.destroy(). Now removes elements and references.
* Refactored API to be more immediately available.
## 3.0.0 (2012-01-10)
* Same HTML/CSS Skin for both HTML5 and Flash video
* Super lightweight Flash fallback player for browsers that dont support HTML5 video
* Free CDN hosting
---- 3.2.1 / 2012-04-06 / options-width-fix ------------------------------------
* Fixed setting width/height with javascript options
---- 3.2.2 / 2012-05-02 / multiple-control-fades-fix ---------------------------
* Fixed error with multiple controls fading listeners
---- 3.2.3 / 2012-11-12 / fix-chrome-seeking-spinner ---------------------------
* Fixed chrome spinner continuing on seek
### Patches
* 3.0.2 (2012-01-12) Started tracking changes with zenflow
* 3.0.3 (2012-01-12) Added line to docs to test zenflow
* 3.0.4 (2012-01-12) Fixing an undefined source when no sources exist on load
* 3.0.5 (2012-01-12) Removed deprecated event.layerX and layerY
* 3.0.6 (2012-01-12) Fixed wrong URL for CDN in docs
* 3.0.7 (2012-01-12) Fixed an ie8 breaking bug with the poster
* 3.0.8 (2012-01-23) Fixed issue with controls not hiding in IE due to no opacity support
-50
Ver Arquivo
@@ -1,50 +0,0 @@
```
^ NEW CHANGES ABOVE ^
```
CHANGELOG
=========
#### 3.2.3 (2013-05-03)
* test line
* Added a plugins interface
* Added automated test suite and support for Travis CI.
* Updated docs to use Github markdown
* Allow disabling of default components
* Duration is now setable (need ed for HLS m3u8 files)
* Event binders (on/off/one) now return the player instance
* Stopped player from going back to beginningg on ended event.
* Added support for percent width/height and fluid layouts
* Improved load order of elements to reduce reflow.
* Changed addEvent function name to 'on'.
* Removed conflicting array.indexOf function
* Added exitFullScreen to support BlackBerry devices (pull/143)
## 5.0.0 (2013-02-02)
* Added a plugins interface ([261f2072](https://github.com/angular-ui/bootstrap/commit/261f2072))
* Added automated test suite and support for Travis CI.
* Updated docs to use Github markdown
* Allow disabling of default components
#### 4.1.2 (2013-02-02)
* Added a plugins interface ([261f2072](https://github.com/angular-ui/bootstrap/commit/261f2072))
### 4.1.0 (2013-02-02)
* Added a plugins interface ([261f2072](https://github.com/angular-ui/bootstrap/commit/261f2072))
* Added automated test suite and support for Travis CI.
* Updated docs to use Github markdown
* Allow disabling of default components
#### 4.0.2 (2013-02-02)
* Added a plugins interface ([261f2072](https://github.com/angular-ui/bootstrap/commit/261f2072))
#### 4.0.1 (2013-02-02)
* Added a plugins interface ([261f2072](https://github.com/angular-ui/bootstrap/commit/261f2072))
## 4.0.0 (2013-02-02)
* Added a plugins interface ([261f2072](https://github.com/angular-ui/bootstrap/commit/261f2072))
* Added automated test suite and support for Travis CI.
* Updated docs to use Github markdown
* Allow disabling of default components
+211 -112
Ver Arquivo
@@ -1,155 +1,259 @@
So you're telling me you want to spend some of your precious time giving back to this humble project? You're crazy. But since you're here...there are some ways you can help make Video.js a faster, easier, more compatible, and more fully-featured video player.
CONTRIBUTING
============
So you want to help out? Great! There's a number of ways you can get involved.
* Bug reports and fixes
* Features and changes (pull requests)
* [Answer questions](http://stackoverflow.com/questions/tagged/video.js) on Stack Overflow
* Other Video.js projects
* [File and discuss issues](#filing-issues)
* [Contribute code](#contributing-code)
* [Build and share plugins](docs/guides/plugins.md)
* [Answer questions on Stack Overflow](http://stackoverflow.com/questions/tagged/video.js)
Don't miss the [code style guide](#code-style).
There's also other Video.js projects where you can help. (check the [video.js org](https://github.com/videojs) for an up-to-date list of projects)
# Getting started
* [Videojs.com](https://github.com/videojs/videojs.com)
* [Video.js flash player](https://github.com/videojs/video-js-swf)
* [Player skin designer](https://github.com/videojs/designer)
* [Contribflow](https://github.com/zencoder/contribflow)
1. [Download and install Node.js](http://nodejs.org/download/). Video.js uses Node for build and test automation.
There is a known issue between Node.js version 0.10.x and phantomjs. This will manifest itself during the node module installation (see step 4 below). For the time being, please install Node.js version 0.8.22 or earlier. You can find earlier versions of Node.js [here](http://nodejs.org/dist/).
Filing issues
-------------
[GitHub Issues](https://github.com/videojs/video.js/issues) are used for all discussions around the codebase, including **bugs**, **features**, and other **enhancements**.
2. [Fork](http://help.github.com/fork-a-repo/) and clone the video.js git repository.
### Reporting a Bug
```bash
# Clones your fork of the repo into the current directory in terminal
git clone https://github.com/<your-username>/video-js.git
# Navigate to the newly cloned directory
cd video-js
# Assigns the original repo to a remote called "upstream"
git remote add upstream https://github.com/zencoder/video-js.git
```
In the future, if you want to pull in updates to video.js that happened after you cloned the main repo, you can run:
```bash
git checkout master
git pull upstream master
```
3. Install the grunt-cli package so that you will have the correct version of grunt available from any project that needs it. This should be done as a global install:
```bash
npm install -g grunt-cli
```
4. Install required node.js modules using node package manager.
```bash
npm install
```
5. Build a local copy. Video.js uses [grunt](http://gruntjs.com), a node-based task automation tool for building and tesing. The following will compile a local copy in the dist/ directory and run tests. It will also create a sourcelist.js file that can be used to load the video.js source scripts in a page.
```bash
grunt
```
6. When you're ready to add a feature, make a change, or fix a bug, first create a new branch for it. Prefix the branch with the correspoding [issue number](https://github.com/zencoder/video-js/issues). If there isn't one, submit a new issue. Anything more complicated than simple docs changes should have an issue.
```bash
git checkout -b <####-branch-name>
```
Be sure to reference your issue in any commit message. Github allows you to do this though the [fixes or closes](https://github.com/blog/831-issues-2-0-the-next-generation) keywords.
```bash
My commit message. fixes #123
```
# Bugs
A bug is a _demonstrable problem_ that is caused by the code in the
repository. Good bug reports are extremely helpful - thank you!
**A bug is a demonstrable problem** that is caused by the code in the repository. Good bug reports are extremely helpful. Thank You!
Guidelines for bug reports:
1. **Use the [GitHub issue search](https://github.com/zencoder/video-js/issues)** &mdash; check if the issue has already been reported.
1. Use the [GitHub issue search](https://github.com/videojs/video.js/issues) &mdash; check if the issue has already been reported.
2. **Check if the issue has been fixed** &mdash; try to reproduce it using the latest `master` branch in the repository.
2. Check if the issue has already been fixed &mdash; try to reproduce it using the latest `master` branch in the repository.
3. **Isolate the problem** &mdash; ideally create a [reduced test
case](http://css-tricks.com/6263-reduced-test-cases/) and a live example.
3. Isolate the problem &mdash; **create a [reduced test case](https://css-tricks.com/reduced-test-cases/)** with a live example. You can possibly use [this JSBin example](http://jsbin.com/axedog/7/edit) as a starting point.
A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s), OS, and devices experience the problem? What would you expect to be the outcome? All these
details will help people to fix any potential bugs.
A good bug report should be as detailed as possible, so that others won't have to follow up for the essential details.
Example:
Here's an example:
> Short and descriptive example bug report title
> Short yet concise Bug Summary
>
> A summary of the issue and the browser/OS environment in which it occurs. If
> suitable, include the steps required to reproduce the bug.
> Description:
> Happens on Windows 7 and OSX. Seen with IE9, Firefox 19 OSX, Chrome 21, Flash 11.6 and 11.2
>
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
>
> `<url>` (a link to the reduced test case)
> Expected:
> (describe the expected outcome of the steps above)
>
> Actual:
> (describe what actually happens)
>
> `<url>` (a link to the reduced test case, if it exists)
>
> Any other information you want to share that is relevant to the issue being
> reported. This might include the lines of code that you have identified as
> causing the bug, and potential solutions (and your opinions on their
> merits).
**[File a bug report](https://github.com/h5bp/html5-boilerplate/issues/)**
**[File a bug report](https://github.com/videojs/video.js/issues/new)**
### NOTE: Testing Flash Locally in Chrome
Chrome 21+ (as of 2013/01/01) doens't run Flash files that are local and loaded into a locally accessed page (file:///). To get around this you need to [disable the version of Flash](http://helpx.adobe.com/flash-player/kb/flash-player-google-chrome.html#How_can_I_run_debugger_or_alternate_versions_of_Flash_Player_in_Google_Chrome) included with Chrome and enable a system-wide version of Flash.
### Requesting a Feature
1. [Check the plugin list](https://github.com/videojs/video.js/wiki/Plugins) for any plugins that may already support the feature.
2. [Search the issues](https://github.com/videojs/video.js/issues) for any previous requests for the same feature, and give a thumbs up or +1 on existing requests.
2. If no previous requests exist, create a new issue. Please be as clear as possible about why the feautre is needed and the intended use case.
**[Request a feature](https://github.com/videojs/video.js/issues/new)**
Contributing code
-----------------
To contibute code you'll need to be able to build a copy of Video.js and run tests locally. There are a few requirements before getting started.
- Node.js -- Video.js uses Node for build and test automation. Node is available for Windows, Mac OS X, Linux, and SunOS, as well as source code if that doesn't scare you. [Download and install Node.js](http://nodejs.org/download/)
- grunt-cli -- Install grunt-cli globally so that you will have the correct version of grunt available for any project that needs it.
On Unix-based systems, you'll have to do this as a superuser:
```bash
sudo npm install -g grunt-cli
```
On Windows, you can just run:
```bash
npm install -g grunt-cli
```
- Contribflow -- A homegrown git workflow tool for managing feature/hotfix branches and submitting pull requests. If you have your own preferred git workflow, contribflow isn't required, but the following instructions will assume you're using it.
On Unix-based systems, you'll have to do this as a superuser:
```bash
sudo npm install -g contribflow
```
On Windows, you can just run:
```bash
npm install -g contribflow
```
### Building your own copy of Video.js
First, [fork](http://help.github.com/fork-a-repo/) the video.js git repository. At the top of every github page, there is a Fork button. Click it, and the forking process will copy Video.js into your own GitHub account.
Clone your fork of the repo into your code directory
```bash
git clone https://github.com/<your-username>/video.js.git
```
Navigate to the newly cloned directory
```bash
cd video.js
```
Assign the original repo to a remote called "upstream"
```
git remote add upstream https://github.com/videojs/video.js.git
```
>In the future, if you want to pull in updates to video.js that happened after you cloned the main repo, you can run:
>
> ```bash
> git checkout master
> git pull upstream master
> ```
Install the required node.js modules using node package manager
```bash
npm install
```
> A note to Windows developers: If you run npm commands, and you find that your command prompt colors have suddenly reversed, you can configure npm to set color to false to prevent this from happening.
> `npm config set color false`
> Note that this change takes effect when a new command prompt window is opened; the current window will not be affected.
Build a local copy of video.js and run tests
```bash
grunt dist
grunt test
```
Video.js is also configured to run tests with Karma. Karma is installed as a grunt plugin to run QUnit tests in real browsers, as opposed to simply running the tests in phantomjs, a headless browser. To run the tests with Karma:
```bash
grunt karma:dev
```
At this point you should have a built copy of video.js in a directory named `dist`, and all tests should be passing.
### Making Changes
Whether you're adding something new, making something better, or fixing a bug, you'll first want to search the [GitHub issues](https://github.com/videojs/video.js/issues) and [plugins list](https://github.com/videojs/video.js/wiki/Plugins) to make sure you're aware of any previous discussion or work. If an unclaimed issue exists, claim it via a comment. If no issue exists for your change, submit one, follwing the [issue filing guidelines](#filing-issues).
There are two categories of changes in video.js land, features and hotfixes (Video.js follows a branching model similar to [gitflow](http://nvie.com/posts/a-successful-git-branching-model/)). Hotfixes are for urgent fixes that need to be released immediately as a patch. Features are for everything else (including non-urgent fixes). If you think you have a hotfix scenario, verify that (via comment) before starting the work. We'll focus on features here, but you can swap `hotfix` for `feature` in any command.
Start a new development branch
```bash
contrib feature start
```
You'll be prompted to name the branch. After that, contrib will create the branch locally, and use git to push it up to your origin, and track it. You're now ready to start building your feature or fixing that bug! Be sure to read the [Code Style Guide](#code-style-guide).
While you're developing, you can ensure your changes are working by writing tests (in the `test` directory) and running `grunt test`.
There's also a sandbox directory where you can add any file and it won't get tracked as a change. To start you can copy the example index file and see a working version of a player (using the local source code) by loading it in a browser.
```bash
cp sandbox/index.html.example sandbox/index.html
open sandbox/index.html
```
## Pull requests
### Testing Locally
A simple Connect server is available via the Grunt plugin. The commands below will allow you to setup a test sandbox and begin development.
Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. If your contribution involves a significant amount of work or substantial changes to any part of the project, please open an issue to discuss it first.
```bash
cp sandbox/index.html.example sandbox/index.html
grunt connect
open http://localhost:9999/sandbox/index.html
```
Make sure to adhere to the coding conventions used throughout a project (indentation, accurate comments, etc.). Please update any documentation that is relevant to the change you're making.
> NOTES regarding local testing in Chrome 21+ (as of 2013/01/01)
> Flash files that are local and loaded into a locally accessed page (file:///) will NOT run.
> To get around this you can do either of the following:
>
> 1. Do your development and testing using a local HTTP server. See Grunt commands above.
>
> 2. [Disable the version of Flash included with Chrome](http://helpx.adobe.com/flash-player/kb/flash-player-google-chrome.html#How_can_I_run_debugger_or_alternate_versions_of_Flash_Player_in_Google_Chrome) and enable a system-wide version of Flash instead.
Please follow this process; it's the best way to get your work included in the project:
Commit and push changes as you go (using git directly). Write thorough descriptions of your changes in your commit messages.
1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes:
```bash
git add .
git commit -av
git push
```
```bash
# Clones your fork of the repo into the current directory in terminal
git clone https://github.com/<your-username>/html5-boilerplate.git
# Navigate to the newly cloned directory
cd html5-boilerplate
# Assigns the original repo to a remote called "upstream"
git remote add upstream https://github.com/h5bp/html5-boilerplate.git
```
> GitHub allows you to close an issue through your commit message using the [fixes](https://github.com/blog/831-issues-2-0-the-next-generation) keyword.
>
> ```bash
> My commit message. fixes #123
> Testing: (briefly describe any testing here, for example, 'unit tests and cross-browser manual tests around playback and network interruption')
> ```
2. If you cloned a while ago, get the latest changes from upstream:
### Submitting your changes
```bash
git checkout master
git pull upstream master
```
First, thoroughly test your feature or fix, including writing tests to make sure your change doesn't get regressed in a future update. If you're fixing a bug, we recommend in addition to testing the fix itself, to do some testing around the areas that your fix has touched. For example, a brief smoketest of the player never hurts.
3. Create a new topic branch to contain your feature, change, or fix:
Make sure your changes are pushed to origin
```bash
git checkout -b <topic-branch-name>
```
```bash
git push
```
4. Commit your changes in logical chunks. Please adhere to these [git commit message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) or your pull request is unlikely be merged into the main project. Use git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public.
Use contrib to submit a pull request (make sure you're in your feature branch)
5. Locally merge (or rebase) the upstream development branch into your topic branch:
```bash
contrib feature submit
```
```bash
git pull [--rebase] upstream master
```
You'll be prompted for title and description for the Pull Request. After that, contrib will use Git to submit your pull request to video.js.
6. Push your topic branch up to your fork:
You're Done! (except for cleanup.) To clean up your feature or hotfix branch:
```bash
git push origin <topic-branch-name>
```
First, checkout your feature or issue branch:
10. [Open a Pull Request](http://help.github.com/send-pull-requests/) with a clear title and description.
```bash
git checkout (branchname)
```
# Code Style
Run this command to clean up your feature:
```bash
contrib feature delete
```
Run this command to clean up your bug fix:
```bash
contrib hotfix delete
```
> PLEASE NOTE: THIS WILL DELETE YOUR LOCAL AND REMOTE COPIES OF THE FEATURE.
> This is meant to clean up your local and remote branches, so make sure any changes you don't want to lose have been pulled into the parent project or another branch first.
Code Style Guide
----------------
Please follow [Google's JavaScript Style Guide](http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml) to the letter. If your editor supports [.editorconfig](http://editorconfig.org/#download) it will make it easier to manage differences from your own coding style.
### Style examples include:
@@ -162,11 +266,6 @@ Please follow [Google's JavaScript Style Guide](http://google-styleguide.googlec
If you happen to find something in the codebase that does not follow the style guide, that's a good opportunity to make your first contribution!
# Other Video.js Pojects
* [Video.js SWF](https://github.com/zencoder/video-js-swf) - The light-weight flash video player that makes flash work like HTML5 video. This allows player skins, plugins, and other features to work with both HTML5 and Flash.
* [Videojs.com](http://videojs.com) - The public site with helpful tools and information about Video.js.
---
### Doc Credit
This doc was inspired by some great contribution guide examples including [contribute.md template](https://github.com/contribute-md/contribute-md-template),
+5 -254
Ver Arquivo
@@ -1,256 +1,7 @@
require('babel/register');
// Need to `require` a separate Grunt file so we can use ES6 syntax via
// Babel's require hook.
module.exports = function(grunt) {
var pkg, s3, semver, version, verParts;
semver = require('semver');
pkg = grunt.file.readJSON('package.json');
try {
s3 = grunt.file.readJSON('.s3config.json');
} catch(e) {
s3 = {};
}
verParts = pkg.version.split('.');
version = {
full: pkg.version,
major: verParts[0],
minor: verParts[1],
patch: verParts[2]
};
version.majorMinor = version.major + '.' + version.minor;
// Project configuration.
grunt.initConfig({
pkg: pkg,
build: {
src: 'src/js/dependencies.js',
options: {
baseDir: 'src/js/'
}
},
clean: {
build: ['build/files/*'],
dist: ['dist/*']
},
jshint: {
src: {
src: ['src/js/*.js', 'Gruntfile.js', 'test/unit/*.js'],
options: {
jshintrc: '.jshintrc'
}
}
},
minify: {
source:{
src: ['build/files/combined.video.js', 'build/compiler/goog.base.js', 'src/js/exports.js'],
externs: ['src/js/media/flash.externs.js'],
dest: 'build/files/minified.video.js'
},
tests: {
src: ['build/files/combined.video.js', 'build/compiler/goog.base.js', 'src/js/exports.js', 'test/unit/*.js', '!test/unit/api.js'],
externs: ['src/js/media/flash.externs.js', 'test/qunit/qunit-externs.js'],
dest: 'build/files/test.minified.video.js'
}
},
dist: {},
qunit: {
source: ['test/index.html'],
minified: ['test/minified.html'],
minified_api: ['test/minified-api.html']
},
watch: {
files: [ 'src/**/*.js', 'test/unit/*.js' ],
tasks: 'dev'
},
copy: {
minor: {
files: [
{expand: true, cwd: 'build/files/', src: ['*'], dest: 'dist/'+version.majorMinor+'/', filter: 'isFile'} // includes files in path
]
},
patch: {
files: [
{expand: true, cwd: 'build/files/', src: ['*'], dest: 'dist/'+version.full+'/', filter: 'isFile'} // includes files in path
]
}
},
s3: {
options: s3,
prod: {
// Files to be uploaded.
upload: [
{
src: 'dist/cdn/*',
dest: 'vjs/'+version.full+'/',
rel: 'dist/cdn/',
headers: {
'Cache-Control': 'public, max-age=31536000'
}
},
{
src: 'dist/cdn/*',
dest: 'vjs/'+version.majorMinor+'/',
rel: 'dist/cdn/',
headers: {
'Cache-Control': 'public, max-age=2628000'
}
}
]
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-s3');
grunt.loadNpmTasks('contribflow');
// Default task.
grunt.registerTask('default', ['jshint', 'build', 'minify', 'dist']);
// Development watch task
grunt.registerTask('dev', ['jshint', 'build', 'qunit:source']);
grunt.registerTask('test', ['jshint', 'build', 'minify', 'qunit']);
var fs = require('fs'),
gzip = require('zlib').gzip;
grunt.registerMultiTask('build', 'Building Source', function(){
/*jshint undef:false, evil:true */
// Loading predefined source order from source-loader.js
// Trust me, this is the easist way to do it so far.
var blockSourceLoading = true;
var sourceFiles; // Needed to satisfy jshint
eval(grunt.file.read('./build/source-loader.js'));
// Fix windows file path delimiter issue
var i = sourceFiles.length;
while (i--) {
sourceFiles[i] = sourceFiles[i].replace(/\\/g, '/');
}
// grunt.file.write('build/files/sourcelist.txt', sourceList.join(','));
// Allow time for people to update their index.html before they remove these
// grunt.file.write('build/files/sourcelist.js', 'var sourcelist = ["' + sourceFiles.join('","') + '"]');
// Create a combined sources file. https://github.com/zencoder/video-js/issues/287
var combined = '';
sourceFiles.forEach(function(result){
combined += grunt.file.read(result);
});
grunt.file.write('build/files/combined.video.js', combined);
grunt.file.copy('src/css/video-js.css', 'build/files/video-js.css');
grunt.file.copy('src/css/video-js.png', 'build/files/video-js.png');
grunt.file.copy('src/swf/video-js.swf', 'build/files/video-js.swf');
// grunt.file.copy('src/css/font/', 'build/files/font/');
grunt.file.recurse('src/css/font', function(absdir, rootdir, subdir, filename) {
// Block .DS_Store files
if ('filename'.substring(0,1) !== '.') {
grunt.file.copy(absdir, 'build/files/font/' + filename);
}
});
});
grunt.registerMultiTask('minify', 'Minify JS files using Closure Compiler.', function() {
var done = this.async();
var exec = require('child_process').exec;
var externs = this.data.externs || [];
var dest = this.data.dest;
var filePatterns = [];
// Make sure deeper directories exist for compiler
grunt.file.write(dest, '');
if (this.data.sourcelist) {
filePatterns = filePatterns.concat(grunt.file.read(this.data.sourcelist).split(','));
}
if (this.data.src) {
filePatterns = filePatterns.concat(this.data.src);
}
var command = 'java -jar build/compiler/compiler.jar'
+ ' --compilation_level ADVANCED_OPTIMIZATIONS'
// + ' --formatting=pretty_print'
+ ' --js_output_file=' + dest
+ ' --create_source_map ' + dest + '.map --source_map_format=V3'
+ ' --jscomp_warning=checkTypes --warning_level=VERBOSE'
+ ' --output_wrapper "/*! ' + pkg.copyright + ' */\n (function() {%output%})();//@ sourceMappingURL=video.js.map"';
grunt.file.expand(filePatterns).forEach(function(file){
command += ' --js='+file;
});
externs.forEach(function(extern){
command += ' --externs='+extern;
});
// grunt.log.writeln(command)
exec(command, { maxBuffer: 500*1024 }, function(err, stdout, stderr){
if (err) {
grunt.warn(err);
done(false);
}
if (stdout) {
grunt.log.writeln(stdout);
}
done();
});
});
grunt.registerTask('dist', 'Creating distribution', function(){
var exec = require('child_process').exec;
var done = this.async();
grunt.file.copy('build/files/minified.video.js', 'dist/video-js/video.js');
grunt.file.copy('build/files/combined.video.js', 'dist/video-js/video.dev.js');
grunt.file.copy('build/files/video-js.css', 'dist/video-js/video-js.css');
grunt.file.copy('build/files/video-js.swf', 'dist/video-js/video-js.swf');
grunt.file.copy('build/demo-files/demo.html', 'dist/video-js/demo.html');
grunt.file.copy('build/demo-files/demo.captions.vtt', 'dist/video-js/demo.captions.vtt');
grunt.file.recurse('build/files/font', function(absdir, rootdir, subdir, filename) {
// Block .DS_Store files
if ('filename'.substring(0,1) !== '.') {
grunt.file.copy(absdir, 'dist/video-js/font/' + filename);
}
});
// CDN version uses already hosted font files
// Minified version only
// doesn't need demo files
grunt.file.copy('build/files/minified.video.js', 'dist/cdn/video.js');
grunt.file.copy('build/files/video-js.css', 'dist/cdn/video-js.css');
grunt.file.copy('build/files/video-js.swf', 'dist/cdn/video-js.swf');
var css = grunt.file.read('dist/cdn/video-js.css');
css = css.replace(/font\//g, '../f/1/');
grunt.file.write('dist/cdn/video-js.css', css);
exec('cd dist && zip -r video-js-'+version.full+'.zip video-js && cd ..', { maxBuffer: 500*1024 }, function(err, stdout, stderr){
if (err) {
grunt.warn(err);
done(false);
}
if (stdout) {
grunt.log.writeln(stdout);
}
done();
});
});
require('./build/grunt.js')(grunt);
};
+32
Ver Arquivo
@@ -0,0 +1,32 @@
## Description
Briefly describe the issue.
Include a [reduced test case](https://css-tricks.com/reduced-test-cases/), we have a [starter template](http://jsbin.com/axedog/edit?html,output) on JSBin you can use.
## Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.
1.
2.
3.
## Results
### Expected
Please describe what you expected to see.
### Actual
Please describe what actually happened.
### Error output
If there are any errors at all, please include them here.
## Additional Information
Please include any additional information necessary here. Including the following:
### versions
#### videojs
what version of videojs does this occur with?
#### browsers
what browser are affected?
#### OSes
what platforms (operating systems and devices) are affected?
### plugins
are any videojs plugins being used on the page? If so, please list them below.
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
Copyright 2013 Brightcove, Inc.
Copyright Brightcove, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
+16
Ver Arquivo
@@ -0,0 +1,16 @@
## Description
Please describe the change as necessary.
If it's a feature or enhancement please be as detailed as possible.
If it's a bug fix, please link the issue that it fixes or describe the bug in as much detail.
## Specific Changes proposed
Please list the specific changes involved in this pull request.
## Requirements Checklist
- [ ] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [ ] Unit Tests updated or fixed
- [ ] Docs/guides updated
- [ ] Example created ([starter template on JSBin](http://jsbin.com/axedog/edit?html,output))
- [ ] Reviewed by Two Core Contributors
+46 -33
Ver Arquivo
@@ -1,50 +1,63 @@
![Video.js logo](http://videojs.com/img/logo.png)
# [Video.js - HTML5 and Flash Video Player](http://videojs.com) [![Build Status](https://travis-ci.org/zencoder/video-js.png?branch=master)](https://travis-ci.org/zencoder/video-js)
# [Video.js - HTML5 Video Player](http://videojs.com)
[![Build Status](https://travis-ci.org/videojs/video.js.svg?branch=master)](https://travis-ci.org/videojs/video.js)
[![Coverage Status](https://coveralls.io/repos/github/videojs/video.js/badge.svg?branch=master)](https://coveralls.io/github/videojs/video.js?branch=master)
Visit the main site at [videojs.com](http://videojs.com) for download options and instructions.
[![NPM](https://nodei.co/npm/video.js.png?downloads=true&downloadRank=true)](https://nodei.co/npm/video.js/)
### PLEASE EXCUSE OUR DUST
> Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 and Flash video, as well as YouTube and Vimeo (through [plugins](https://github.com/videojs/video.js/wiki/Plugins)). It supports video playback on desktops and mobile devices. This project was started mid 2010, and the player is now used on over ~~50,000~~ ~~100,000~~ 200,000 websites.
We're finishing up a big overhaul of the libary which includes
## Quick start
Thanks to the awesome folks over at [Fastly](http://www.fastly.com/), there's a free, CDN hosted version of Video.js that anyone can use.
Also, check out the [Getting Started](http://videojs.com/getting-started/) page on our website which has the latest urls as well.
Simply add these includes to your document's
`<head>`:
* Closure compiler advanced mode support for drastically better minification over previous versions
* Flashy new automated builds and test using node.js and grunt
```html
<link href="//vjs.zencdn.net/5.8/video-js.min.css" rel="stylesheet">
<script src="//vjs.zencdn.net/5.8/video.min.js"></script>
```
Check out our [contributing guide](https://github.com/zencoder/video-js/blob/master/CONTRIBUTING.md) for info on building a local version.
Then, whenever you want to use Video.js you can simply use the `<video>` element as your normally would, but with an additional `data-setup` attribute containing any Video.js options. These options
can include any Video.js option plus potential [plugin](http://videojs.com/plugins/) options, just make sure they're valid JSON!
## About
```html
<video id="really-cool-video" class="video-js vjs-default-skin" controls
preload="auto" width="640" height="264" poster="really-cool-video-poster.jpg"
data-setup='{}'>
<source src="really-cool-video.mp4" type="video/mp4">
<source src="really-cool-video.webm" type="video/webm">
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser
that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
```
Video.js was built to provide a fast and easy way to embed and work with video in a web page.
It was built from the ground up with the assumption that HTML5 is the future of web video, however it supports Flash equally well for older browsers and for advanced features not yet supported in HTML5.
If you don't want to use auto-setup, you can leave off the `data-setup` attribute and initialize a video element manually.
Some of the focuses of Video.js are:
```javascript
var player = videojs('really-cool-video', { /* Options */ }, function() {
console.log('Good to go!');
- Universal browser and device support
- Fast player loading
- Easily skinned (themed/chromed) using just CSS
- A JavaScript API for controlling the video that works consistently across video platforms (HTML5, Flash, and soon other players like youtube) as well as devices
this.play(); // if you don't trust autoplay for some reason
## Getting Started
// How about an event listener?
this.on('ended', function() {
console.log('awww...over so soon?');
});
});
```
Check out our [getting started guide](http://videojs.com/#section5).
If you're ready to dive in, the [documentation](http://docs.videojs.com) is the first place to go for more information.
## Contributing
Video.js is a free and open source library, and we appreciate any help you're willing to give. Check out the [contributing guide](CONTRIBUTING.md).
Check out our [contributing guide](https://github.com/zencoder/video-js/blob/master/CONTRIBUTING.md).
_Video.js uses [BrowserStack](https://browserstack.com) for compatibility testing_
## Building your own Video.js from source
To build your own custom version read the section on [contributing code](CONTRIBUTING.md#contributing-code) and ["Building your own copy"](CONTRIBUTING.md#building-your-own-copy-of-videojs) in the contributing guide.
## License
Copyright 2013 Brightcove, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Video.js is licensed under the Apache License, Version 2.0. [View the license file](LICENSE)
-5
Ver Arquivo
@@ -1,5 +0,0 @@
---
major: 3
minor: 2
patch: 3
pre:
+24
Ver Arquivo
@@ -0,0 +1,24 @@
{
"name": "video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"main": [
"dist/video.js",
"dist/video-js.css"
],
"moduleType": "es6",
"keywords": [
"videojs",
"html5",
"flash",
"video",
"player"
],
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests",
"build"
]
}
-37
Ver Arquivo
@@ -1,37 +0,0 @@
[
{
"os": "win",
"browser": "chrome",
"version": "27.0"
},
{
"os": "win",
"browser": "firefox",
"version": "20.0"
},
{
"os": "win",
"browser": "ie",
"version": "9.0"
},
{
"os": "win",
"browser": "ie",
"version": "10.0"
},
{
"os": "ios",
"device": "iPhone 5",
"version": "6.0"
},
{
"os": "ios",
"device": "iPad 3rd (6.0)",
"version": "6.0"
},
{
"os": "android",
"device": "Samsung Galaxy Tab 2 10.1",
"version": "4.0"
}
]
Arquivo executável
+36
Ver Arquivo
@@ -0,0 +1,36 @@
#!/bin/bash
# exit after any line errors
set -e
# exit if this is a version commit
# otherwise we cause an inifite loop when package version
# bumps get pushed back to master
if [[ $CI_MESSAGE = v[0-9]* ]]; then
echo "Version commit found. Exiting."
exit 0
fi
# exit if this is just a change to the build process not source
if [[ $CI_MESSAGE = build:* ]]; then
echo "Build commit found. Exiting."
exit 0
fi
echo "Install our task runner..."
npm install -g contrib
echo "Configure npm for publishing..."
printf "_auth=$NPM_AUTH_TOKEN\nemail=$NPM_EMAIL\n" > .npmrc
echo "Set git user to last committer..."
git config --global user.email $CI_COMMITTER_EMAIL
git config --global user.name $CI_COMMITTER_NAME
echo "Setup git branches and remotes..."
git remote set-branches origin stable master
git fetch
git remote add upstream git@github.com:videojs/video.js.git
echo "Run the task..."
contrib release prerelease
Arquivo executável
+5
Ver Arquivo
@@ -0,0 +1,5 @@
#!/usr/bin/env node
var version = require('../../package.json').version;
console.log(version);
-202
Ver Arquivo
@@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-292
Ver Arquivo
@@ -1,292 +0,0 @@
/*
* Copyright 2009 The Closure Compiler Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//
// Contents
//
The Closure Compiler performs checking, instrumentation, and
optimizations on JavaScript code. The purpose of this README is to
explain how to build and run the Closure Compiler.
The Closure Compiler requires Java 6 or higher.
http://www.java.com/
//
// Building The Closure Compiler
//
There are three ways to get a Closure Compiler executable.
1) Use one we built for you.
Pre-built Closure binaries can be found at
http://code.google.com/p/closure-compiler/downloads/list
2) Check out the source and build it with Apache Ant.
First, check out the full source tree of the Closure Compiler. There
are instructions on how to do this at the project site.
http://code.google.com/p/closure-compiler/source/checkout
Apache Ant is a cross-platform build tool.
http://ant.apache.org/
At the root of the source tree, there is an Ant file named
build.xml. To use it, navigate to the same directory and type the
command
ant jar
This will produce a jar file called "build/compiler.jar".
3) Check out the source and build it with Eclipse.
Eclipse is a cross-platform IDE.
http://www.eclipse.org/
Under Eclipse's File menu, click "New > Project ..." and create a
"Java Project." You will see an options screen. Give the project a
name, select "Create project from existing source," and choose the
root of the checked-out source tree as the existing directory. Verify
that you are using JRE version 6 or higher.
Eclipse can use the build.xml file to discover rules. When you
navigate to the build.xml file, you will see all the build rules in
the "Outline" pane. Run the "jar" rule to build the compiler in
build/compiler.jar.
//
// Running The Closure Compiler
//
Once you have the jar binary, running the Closure Compiler is straightforward.
On the command line, type
java -jar compiler.jar
This starts the compiler in interactive mode. Type
var x = 17 + 25;
then hit "Enter", then hit "Ctrl-Z" (on Windows) or "Ctrl-D" (on Mac or Linux)
and "Enter" again. The Compiler will respond:
var x=42;
The Closure Compiler has many options for reading input from a file,
writing output to a file, checking your code, and running
optimizations. To learn more, type
java -jar compiler.jar --help
You can read more detailed documentation about the many flags at
http://code.google.com/closure/compiler/docs/gettingstarted_app.html
//
// Compiling Multiple Scripts
//
If you have multiple scripts, you should compile them all together with
one compile command.
java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js
The Closure Compiler will concatenate the files in the order they're
passed at the command line.
If you need to compile many, many scripts together, you may start to
run into problems with managing dependencies between scripts. You
should check out the Closure Library. It contains functions for
enforcing dependencies between scripts, and a tool called calcdeps.py
that knows how to give scripts to the Closure Compiler in the right
order.
http://code.google.com/p/closure-library/
//
// Licensing
//
Unless otherwise stated, all source files are licensed under
the Apache License, Version 2.0.
-----
Code under:
src/com/google/javascript/rhino
test/com/google/javascript/rhino
URL: http://www.mozilla.org/rhino
Version: 1.5R3, with heavy modifications
License: Netscape Public License and MPL / GPL dual license
Description: A partial copy of Mozilla Rhino. Mozilla Rhino is an
implementation of JavaScript for the JVM. The JavaScript parser and
the parse tree data structures were extracted and modified
significantly for use by Google's JavaScript compiler.
Local Modifications: The packages have been renamespaced. All code not
relevant to parsing has been removed. A JsDoc parser and static typing
system have been added.
-----
Code in:
lib/rhino
Rhino
URL: http://www.mozilla.org/rhino
Version: Trunk
License: Netscape Public License and MPL / GPL dual license
Description: Mozilla Rhino is an implementation of JavaScript for the JVM.
Local Modifications: Minor changes to parsing JSDoc that usually get pushed
up-stream to Rhino trunk.
-----
Code in:
lib/args4j.jar
Args4j
URL: https://args4j.dev.java.net/
Version: 2.0.16
License: MIT
Description:
args4j is a small Java class library that makes it easy to parse command line
options/arguments in your CUI application.
Local Modifications: None.
-----
Code in:
lib/guava.jar
Guava Libraries
URL: http://code.google.com/p/guava-libraries/
Version: 13.0.1
License: Apache License 2.0
Description: Google's core Java libraries.
Local Modifications: None.
-----
Code in:
lib/jsr305.jar
Annotations for software defect detection
URL: http://code.google.com/p/jsr-305/
Version: svn revision 47
License: BSD License
Description: Annotations for software defect detection.
Local Modifications: None.
-----
Code in:
lib/jarjar.jar
Jar Jar Links
URL: http://jarjar.googlecode.com/
Version: 1.1
License: Apache License 2.0
Description:
A utility for repackaging Java libraries.
Local Modifications: None.
----
Code in:
lib/junit.jar
JUnit
URL: http://sourceforge.net/projects/junit/
Version: 4.10
License: Common Public License 1.0
Description: A framework for writing and running automated tests in Java.
Local Modifications: None.
---
Code in:
lib/protobuf-java.jar
Protocol Buffers
URL: http://code.google.com/p/protobuf/
Version: 2.4.1
License: New BSD License
Description: Supporting libraries for protocol buffers,
an encoding of structured data.
Local Modifications: None
---
Code in:
lib/ant.jar
lib/ant-launcher.jar
URL: http://ant.apache.org/bindownload.cgi
Version: 1.8.1
License: Apache License 2.0
Description:
Ant is a Java based build tool. In theory it is kind of like "make"
without make's wrinkles and with the full portability of pure java code.
Local Modifications: None
---
Code in:
lib/json.jar
URL: http://json.org/java/index.html
Version: JSON version 20090211
License: MIT license
Description:
JSON is a set of java files for use in transmitting data in JSON format.
Local Modifications: None
---
Code in:
tools/maven-ant-tasks-2.1.3.jar
URL: http://maven.apache.org
Version 2.1.3
License: Apache License 2.0
Description:
Maven Ant tasks are used to manage dependencies and to install/deploy to
maven repositories.
Local Modifications: None
Arquivo binário não exibido.
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-30
Ver Arquivo
@@ -1,30 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Video.js | HTML5 Video Player</title>
<!-- Chang URLs to wherever Video.js files will be hosted -->
<link href="video-js.css" rel="stylesheet" type="text/css">
<!-- video.js must be in the <head> for older IEs to work. -->
<script src="video.js"></script>
<!-- Unless using the CDN hosted version, update the URL to the Flash SWF -->
<script>
videojs.options.flash.swf = "video-js.swf";
</script>
</head>
<body>
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup="{}">
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
<track kind="captions" src="demo.captions.vtt" srclang="en" label="English" />
</video>
</body>
</html>
+499
Ver Arquivo
@@ -0,0 +1,499 @@
import {gruntCustomizer, gruntOptionsMaker} from './options-customizer.js';
module.exports = function(grunt) {
require('time-grunt')(grunt);
let _ = require('lodash-compat');
let pkg = grunt.file.readJSON('package.json');
let license = grunt.file.read('build/license-header.txt');
let bannerCommonData = _.pick(pkg, ['version', 'copyright']);
let verParts = pkg.version.split('.');
let version = {
full: pkg.version,
major: verParts[0],
minor: verParts[1],
patch: verParts[2]
};
const browserifyGruntDefaults = {
browserifyOptions: {
standalone: 'videojs'
},
plugin: [
['browserify-derequire']
],
transform: [
require('babelify').configure({
sourceMapRelative: './',
loose: ['all']
}),
['browserify-versionify', {
placeholder: '__VERSION__',
version: pkg.version
}],
['browserify-versionify', {
placeholder: '__VERSION_NO_PATCH__',
version: version.majorMinor
}],
['browserify-versionify', {
placeholder: '__SWF_VERSION__',
version: pkg.dependencies['videojs-swf']
}]
]
};
const githubReleaseDefaults = {
options: {
release: {
tag_name: 'v'+ version.full,
name: version.full,
body: require('chg').find(version.full).changesRaw
},
},
files: {
src: [`dist/video-js-${version.full}.zip`] // Files that you want to attach to Release
}
};
/**
* Customizes _.merge behavior in `browserifyGruntOptions` to concatenate
* arrays. This can be overridden on a per-call basis to
*
* @see https://lodash.com/docs#merge
* @function browserifyGruntCustomizer
* @private
* @param {Mixed} objectValue
* @param {Mixed} sourceValue
* @return {Object}
*/
const browserifyGruntCustomizer = gruntCustomizer;
/**
* Creates a unique object of Browserify Grunt task options.
*
* @function browserifyGruntOptions
* @private
* @param {Object} [options]
* @param {Function} [customizer=browserifyGruntCustomizer]
* If the default array-concatenation behavior is not desireable,
* pass _.noop or a unique customizer (https://lodash.com/docs#merge).
*
* @return {Object}
*/
const browserifyGruntOptions = gruntOptionsMaker(browserifyGruntDefaults, browserifyGruntCustomizer);
const githubReleaseCustomizer = gruntCustomizer;
const githubReleaseOptions = gruntOptionsMaker(githubReleaseDefaults, githubReleaseCustomizer);
/**
* Creates processor functions for license banners.
*
* @function createLicenseProcessor
* @private
* @param {Object} data Custom data overriding `bannerCommonData`. Will
* not be mutated.
* @return {Function} A function which returns a processed grunt template
* using an object constructed from `bannerCommonData`
* and the `data` argument.
*/
function createLicenseProcessor(data) {
return () => {
return grunt.template.process(license, {
data: _.merge({}, bannerCommonData, data)
});
};
}
version.majorMinor = `${version.major}.${version.minor}`;
grunt.vjsVersion = version;
// Project configuration.
grunt.initConfig({
pkg,
clean: {
build: ['build/temp/*'],
dist: ['dist/*']
},
jshint: {
src: {
src: ['src/js/**/*.js', 'Gruntfile.js', 'test/unit/**/*.js'],
options: {
jshintrc: '.jshintrc'
}
}
},
uglify: {
options: {
preserveComments: 'some',
screwIE8: false,
mangle: true,
compress: {
sequences: true,
dead_code: true,
conditionals: true,
booleans: true,
unused: true,
if_return: true,
join_vars: true,
drop_console: true
}
},
build: {
files: {
'build/temp/alt/video.novtt.min.js': 'build/temp/alt/video.novtt.js',
'build/temp/video.min.js': 'build/temp/video.js'
}
}
},
dist: {},
watch: {
novtt: {
files: ['build/temp/video.js'],
tasks: ['concat:novtt']
},
minify: {
files: ['build/temp/video.js'],
tasks: ['uglify']
},
skin: {
files: ['src/css/**/*'],
tasks: ['sass']
},
jshint: {
files: ['src/**/*', 'test/unit/**/*.js', 'Gruntfile.js'],
tasks: 'jshint'
}
},
connect: {
dev: {
options: {
port: Number(process.env.VJS_CONNECT_PORT) || 9999,
livereload: true,
useAvailablePort: true
}
}
},
copy: {
minor: {
files: [
{expand: true, cwd: 'build/temp/', src: ['*'], dest: 'dist/'+version.majorMinor+'/', filter: 'isFile'} // includes files in path
]
},
patch: {
files: [
{expand: true, cwd: 'build/temp/', src: ['*'], dest: 'dist/'+version.full+'/', filter: 'isFile'} // includes files in path
]
},
fonts: { cwd: 'node_modules/videojs-font/fonts/', src: ['*'], dest: 'build/temp/font/', expand: true, filter: 'isFile' },
swf: { cwd: 'node_modules/videojs-swf/dist/', src: 'video-js.swf', dest: 'build/temp/', expand: true, filter: 'isFile' },
ie8: { cwd: 'node_modules/videojs-ie8/dist/', src: ['**/**'], dest: 'build/temp/ie8/', expand: true, filter: 'isFile' },
dist: { cwd: 'build/temp/', src: ['**/**', '!test*'], dest: 'dist/', expand: true, filter: 'isFile' },
examples: { cwd: 'docs/examples/', src: ['**/**'], dest: 'dist/examples/', expand: true, filter: 'isFile' }
},
cssmin: {
minify: {
expand: true,
cwd: 'build/temp/',
src: ['video-js.css', 'alt/video-js-cdn.css'],
dest: 'build/temp/',
ext: '.min.css'
}
},
sass: {
build: {
files: {
'build/temp/video-js.css': 'src/css/vjs.scss',
'build/temp/alt/video-js-cdn.css': 'src/css/vjs-cdn.scss'
}
}
},
karma: {
// this config file applies to all following configs except if overwritten
options: {
configFile: 'test/karma.conf.js'
},
defaults: {
detectBrowsers: {
enabled: !process.env.TRAVIS,
usePhantomJS: false
}
},
watch: {
autoWatch: true,
singleRun: false
},
// these are run locally on local browsers
dev: { browsers: ['Chrome', 'Firefox', 'Safari'] },
chromecanary: { browsers: ['ChromeCanary'] },
chrome: { browsers: ['Chrome'] },
firefox: { browsers: ['Firefox'] },
safari: { browsers: ['Safari'] },
ie: { browsers: ['IE'] },
// this only runs on PRs from the mainrepo on BrowserStack
browserstack: { browsers: ['chrome_bs'] },
chrome_bs: { browsers: ['chrome_bs'] },
firefox_bs: { browsers: ['firefox_bs'] },
safari_bs: { browsers: ['safari_bs'] },
ie11_bs: { browsers: ['ie11_bs'] },
ie10_bs: { browsers: ['ie10_bs'] },
ie9_bs: { browsers: ['ie9_bs'] },
ie8_bs: { browsers: ['ie8_bs'] }
},
vjsdocs: {
all: {
// TODO: Update vjsdocs to support new build, or switch to jsdoc
src: '',
dest: 'docs/api',
options: {
baseURL: 'https://github.com/videojs/video.js/blob/master/'
}
}
},
vjslanguages: {
defaults: {
files: {
'build/temp/lang': ['lang/*.json']
}
}
},
zip: {
dist: {
router: function (filepath) {
var path = require('path');
return path.relative('dist', filepath);
},
// compression: 'DEFLATE',
src: ['dist/**/*'],
dest: 'dist/video-js-' + version.full + '.zip'
}
},
version: {
options: {
pkg: 'package.json'
},
major: {
options: {
release: 'major'
},
src: ['package.json', 'component.json']
},
minor: {
options: {
release: 'minor'
},
src: ['package.json', 'component.json']
},
patch: {
options: {
release: 'patch'
},
src: ['package.json', 'component.json']
},
prerelease: {
options: {
release: 'prerelease'
},
src: ['package.json', 'component.json']
},
css: {
options: {
prefix: '@version\\s*'
},
src: 'build/temp/video-js.css'
}
},
'github-release': {
options: {
repository: 'videojs/video.js',
auth: {
user: process.env.VJS_GITHUB_USER,
password: process.env.VJS_GITHUB_TOKEN
}
},
release: githubReleaseOptions(),
prerelease: githubReleaseOptions({
options: {
release: {
prerelease: true
}
}
})
},
browserify: {
options: browserifyGruntOptions(),
build: {
files: {
'build/temp/video.js': ['src/js/video.js']
}
},
dist: {
options: browserifyGruntOptions({
transform: [
['browserify-versionify', {
placeholder: '../node_modules/videojs-vtt.js/dist/vtt.js',
version: 'https://cdn.rawgit.com/gkatsev/vtt.js/vjs-v0.12.1/dist/vtt.min.js'
}],
]
}),
files: {
'build/temp/video.js': ['src/js/video.js']
}
},
watch: {
options: {
watch: true,
keepAlive: true
},
files: {
'build/temp/video.js': ['src/js/video.js']
}
},
tests: {
options: {
browserifyOptions: {
debug: true,
standalone: false
},
plugin: [
['proxyquireify/plugin']
],
banner: false,
watch: true,
keepAlive: true
},
files: {
'build/temp/tests.js': [
'test/globals-shim.js',
'test/unit/**/*.js'
]
}
}
},
coveralls: {
options: {
// warn instead of failing when coveralls errors
// we've seen coveralls 503 relatively frequently
force: true
},
all: {
src: 'test/coverage/lcov.info'
}
},
concat: {
novtt: {
options: {
separator: '\n'
},
src: ['build/temp/video.js'],
dest: 'build/temp/alt/video.novtt.js'
},
vtt: {
options: {
separator: '\n',
},
src: ['build/temp/video.js', 'node_modules/videojs-vtt.js/dist/vtt.js'],
dest: 'build/temp/video.js',
},
},
concurrent: {
options: {
logConcurrentOutput: true
},
// Run multiple watch tasks in parallel
// Needed so watchify can cache intelligently
watchAll: [
'watch',
'browserify:watch',
'browserify:tests',
'karma:watch'
],
watchSandbox: [
'watch',
'browserify:watch'
]
},
usebanner: {
novtt: {
options: {
process: createLicenseProcessor({includesVtt: false})
},
files: {
src: ['build/temp/alt/video.novtt.js']
}
},
vtt: {
options: {
process: createLicenseProcessor({includesVtt: true})
},
files: {
src: ['build/temp/video.js']
}
}
}
});
// load all the npm grunt tasks
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('videojs-doc-generator');
grunt.loadNpmTasks('chg');
grunt.loadNpmTasks('gkatsev-grunt-sass');
const buildDependents = [
'clean:build',
'jshint',
'browserify:build',
'concat:novtt',
'concat:vtt',
'usebanner:novtt',
'usebanner:vtt',
'uglify',
'sass',
'version:css',
'cssmin',
'copy:fonts',
'copy:swf',
'copy:ie8',
'vjslanguages'
];
grunt.registerTask('build', buildDependents);
grunt.registerTask(
'build:dist',
buildDependents.map(task => task === 'browserify:build' ? 'browserify:dist' : task)
);
grunt.registerTask('dist', [
'clean:dist',
'build:dist',
'copy:dist',
'copy:examples',
'zip:dist'
]);
grunt.registerTask('skin', ['sass']);
// Default task - build and test
grunt.registerTask('default', ['test']);
// The test script includes coveralls only when the TRAVIS env var is set.
grunt.registerTask('test', ['build', 'karma:defaults'].concat(process.env.TRAVIS && 'coveralls').filter(Boolean));
// Run while developing
grunt.registerTask('dev', ['build', 'connect:dev', 'concurrent:watchSandbox']);
grunt.registerTask('watchAll', ['build', 'connect:dev', 'concurrent:watchAll']);
// Pick your testing, or run both in different terminals
grunt.registerTask('test-ui', ['browserify:tests']);
grunt.registerTask('test-cli', ['karma:watch']);
// Load all the tasks in the tasks directory
grunt.loadTasks('build/tasks');
};
+11
Ver Arquivo
@@ -0,0 +1,11 @@
/**
* @license
* Video.js <%= version %> <http://videojs.com/>
* <%= copyright %>
* Available under Apache License Version 2.0
* <https://github.com/videojs/video.js/blob/master/LICENSE>
<% if (includesVtt) { %> *
* Includes vtt.js <https://github.com/mozilla/vtt.js>
* Available under Apache License Version 2.0
* <https://github.com/mozilla/vtt.js/blob/master/LICENSE>
<% } %> */
+49
Ver Arquivo
@@ -0,0 +1,49 @@
import _ from 'lodash-compat';
/**
* Customizes _.merge behavior in `gruntOptions` to concatenate
* arrays. This can be overridden on a per-call basis to
*
* @see https://lodash.com/docs#merge
* @function GruntCustomizer
* @private
* @param {Mixed} objectValue
* @param {Mixed} sourceValue
* @return {Object}
*/
function gruntCustomizer(objectValue, sourceValue) {
if (Array.isArray(objectValue)) {
return objectValue.concat(sourceValue);
}
}
/**
* Creates a gruntOptions instance for the specific defaultOptions and gruntCustomizer
*
* @function browserifyGruntOptions
* @private
* @param {Object} [options]
* @param {Function} [customizer=gruntCustomizer]
* If the default array-concatenation behavior is not desireable,
* pass _.noop or a unique customizer (https://lodash.com/docs#merge).
*
* @return {Function}
*/
function gruntOptionsMaker(defaultOptions, gruntCustomizer) {
/**
* Creates a unique object of Browserify Grunt task options.
*
* @function gruntOptions
* @private
* @param {Object} [options]
* @param {Function} [customizer=browserifyGruntCustomizer]
* If the default array-concatenation behavior is not desireable,
* pass _.noop or a unique customizer (https://lodash.com/docs#merge).
*
* @return {Object}
*/
return function gruntOptions(options = null, customizer = gruntCustomizer) {
return _.merge({}, defaultOptions, options, customizer);
}
};
export { gruntCustomizer, gruntOptionsMaker };
-72
Ver Arquivo
@@ -1,72 +0,0 @@
// This file is used to load the video.js source files into a page
// in the correct order based on dependencies.
// When you create a new source file you will need to add
// it to the list below to use it in sandbox/index.html and
// test/index.html
// You can use the projectRoot variable to adjust relative urls
// that this script loads. By default it's "../", which is what /sandbox
// and /test need. If you had sandbox/newDir/index.html, in index.html you
// would set projectRoot = "../../"
// We could use somehting like requireJS to load files, and at one point
// we used goog.require/provide to load dependencies, but that seems like
// overkill with the small number of files we actually have.
// ADD NEW SOURCE FILES HERE
var sourceFiles = [
"src/js/core.js",
"src/js/core-object.js",
"src/js/events.js",
"src/js/lib.js",
"src/js/component.js",
"src/js/button.js",
"src/js/slider.js",
"src/js/menu.js",
"src/js/player.js",
"src/js/control-bar/control-bar.js",
"src/js/control-bar/play-toggle.js",
"src/js/control-bar/time-display.js",
"src/js/control-bar/fullscreen-toggle.js",
"src/js/control-bar/progress-control.js",
"src/js/control-bar/volume-control.js",
"src/js/control-bar/mute-toggle.js",
"src/js/control-bar/volume-menu-button.js",
"src/js/poster.js",
"src/js/loading-spinner.js",
"src/js/big-play-button.js",
"src/js/media/media.js",
"src/js/media/html5.js",
"src/js/media/flash.js",
"src/js/media/loader.js",
"src/js/tracks.js",
"src/js/json.js",
"src/js/setup.js",
"src/js/plugins.js"
];
// Allow overriding the default project root
var projectRoot = projectRoot || '../';
function loadScripts(scriptsArr){
for (var i = 0; i < scriptsArr.length; i++) {
// Using document.write because that's the easiest way to avoid triggering
// asynchrnous script loading
document.write( "<script src='" + projectRoot + scriptsArr[i] + "'><\/script>" );
}
}
// We use this file in the grunt build script to load the same source file list
// and don't want to load the scripts there.
if (typeof blockSourceLoading === 'undefined') {
loadScripts(sourceFiles);
// Allow for making Flash first
if (window.location.href.indexOf("?flash") !== -1) {
// Using doc.write to load this script to, otherwise when it runs videojs
// is undefined
document.write('<script>videojs.options.techOrder = ["flash"];videojs.options.flash.swf = "../src/swf/video-js.swf";</script>')
}
}
+13
Ver Arquivo
@@ -0,0 +1,13 @@
module.exports = function(grunt) {
grunt.registerTask('cdn-links', 'Update the version of CDN links in docs', function(){
let doc = grunt.file.read('docs/guides/setup.md');
let version = require('../package.json').version;
// remove the patch version to point to the latest patch
version = version.replace(/(\d+\.\d+)\.\d+/, '$1');
// update the version in http://vjs.zencdn.net/4.3/video.js
doc = doc.replace(/(\/\/vjs\.zencdn\.net\/)\d+\.\d+(\.\d+)?/g, '$1'+version);
grunt.file.write('docs/guides/setup.md', doc);
});
};
+24
Ver Arquivo
@@ -0,0 +1,24 @@
module.exports = function(grunt) {
grunt.registerTask('saucelabs', function() {
const exec = require('child_process').exec;
const done = this.async();
if (this.args[0] == 'connect') {
exec('curl https://gist.githubusercontent.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash',
function(error, stdout, stderr) {
if (error) {
grunt.log.error(error);
return done();
}
grunt.verbose.error(stderr.toString());
grunt.verbose.writeln(stdout.toString());
grunt.task.run(['karma:saucelabs']);
done();
});
} else {
grunt.task.run(['karma:saucelabs']);
done();
}
});
}
+11
Ver Arquivo
@@ -0,0 +1,11 @@
module.exports = function(grunt) {
grunt.registerTask('addStyleInjection', 'Adding base style injection', function() {
let minifiedCss = grunt.file.read('build/files/video-js.min.css');
// We need to escape any strings
minifiedCss = minifiedCss.replace(/'/g, '\\\'');
let combinedJs = grunt.file.read('build/files/combined.video.js');
combinedJs = combinedJs.replace(/\{{GENERATED_STYLES}}/g, minifiedCss);
grunt.file.write('build/files/combined.video.js', combinedJs);
});
};
+26
Ver Arquivo
@@ -0,0 +1,26 @@
module.exports = function(grunt) {
// You can specify which browsers to build with by using grunt-style arguments
// or separating them with a comma:
// grunt test:chrome:firefox # grunt-style
// grunt test:chrome,firefox # comma-separated
grunt.registerTask('test-local', function() {
let tasks = this.args;
let tasksMinified;
// if we aren't running this in a CI, but running it manually, we can
// supply arguments to this task. These arguments are either colon (`:`)
// separated which is the default grunt separator for arguments, or they
// are comma (`,`) separated to make it easier.
// The arguments are the names of which browsers you want.
if (tasks.length === 0) {
tasks.push('chrome');
}
if (tasks.length === 1) {
tasks = tasks[0].split(',');
}
tasks = tasks.map((task) => `karma:${task}`);
grunt.task.run(tasks);
});
};
+7
Ver Arquivo
@@ -0,0 +1,7 @@
module.exports = function(grunt) {
grunt.registerTask('vjs-version', function() {
let version = grunt.vjsVersion.full;
grunt.log.writeln(version);
return version;
});
}
+22
Ver Arquivo
@@ -0,0 +1,22 @@
{
"name": "video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"version": "5.11.9",
"keywords": [
"videojs",
"html5",
"flash",
"video",
"player"
],
"scripts": ["dist/video-js/video.dev.js"],
"styles": ["dist/video-js/video-js.css"],
"files": ["dist/video-js/video-js.swf"],
"fonts": [
"dist/video-js/font/vjs.eot",
"dist/video-js/font/vjs.svg",
"dist/video-js/font/vjs.ttf",
"dist/video-js/font/vjs.woff"
],
"main": "dist/video-js/video.dev.js"
}
+14
Ver Arquivo
@@ -0,0 +1,14 @@
{
"name": "videojs/video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"type": "library",
"keywords": [
"videojs",
"html5",
"flash",
"video",
"player"
],
"homepage": "http://www.videojs.com/",
"license": "Apache-2.0"
}
+441 -5
Ver Arquivo
@@ -1,6 +1,442 @@
{
"developmentBranch": "master",
"releaseBranch": "stable",
"remote": "origin",
"upstream": "zencoder"
}
"meta": {
"org": "videojs",
"name": "video.js",
"requirements": [
{
"name": "git",
"info": "http://git-scm.com"
},
{
"name": "node.js",
"info": "http://nodejs.org"
}
],
"urls": {
"repo_api": "https://api.github.com/repos/videojs/video.js",
"repo_ui": "https://github.com/videojs/video.js"
},
"branches": {
"development": "master",
"release": "stable"
}
},
"install": {
"desc": "Fork, download, and setup the project",
"steps": [
{ "prompt": "confirm", "desc": "You will now be taken to Github where you will choose an account to fork the project under. Remember which account you choose." },
{ "exec": "open https://github.com/{{meta.org}}/{{meta.name}}/fork" },
{ "prompt": "text", "desc": "Which account did you choose? (no '@')", "id": "owner" },
{ "exec": "git clone https://github.com/{{ owner }}/{{ meta.name }}.git" },
{ "exec": "cd {{ meta.name }}", "desc": "Change to the project directory" },
{ "include": "setup" }
]
},
"setup": {
"desc": "Set up version control and install dependencies",
"steps": [
[ "git fetch origin", "Get all git branches" ],
[ "git checkout -b stable origin/stable", "Create the stable branch for patches" ],
[ "git remote add upstream https://github.com/{{meta.org}}/{{meta.name}}.git", "Add the upstream project as a remote for pulling changes" ],
[ "git fetch upstream", "Get all upstream branches and changes" ],
{ "include": "update all" },
[ "grunt", "Build the library" ]
]
},
"update": {
"all": {
"steps": [
{ "include": "update stable" },
{ "include": "update master" },
[ "npm install", "Download dependencies"]
]
},
"local": {
"master": {
"steps": [
[ "git checkout master", "Switch to the development branch" ],
[ "git pull upstream master", "Get any changes to master in the main project" ]
]
},
"stable": {
"steps": [
[ "git checkout stable", "Switch to the release branch" ],
[ "git pull upstream stable", "Get any changes to stable in the main project" ]
]
},
"patch": {
"steps": [
[ "git checkout patch", "Switch to the patch branch" ],
[ "git pull upstream patch", "Get any changes to patch in the main project" ]
]
}
},
"remote": {
"master": {
"steps": [
{ "include": "update local master" },
[ "git push origin master", "Push any changes to your copy of the main project" ]
]
},
"stable": {
"steps": [
{ "include": "update local stable" },
[ "git push origin stable", "Push any changes to your copy of the main project" ]
]
},
"patch": {
"steps": [
{ "include": "update local patch" },
[ "git push origin patch", "Push any changes to your copy of the main project" ]
]
}
},
"master": {
"steps": [
{ "include": "update remote master" }
]
},
"stable": {
"steps": [
{ "include": "update remote stable" }
]
},
"patch": {
"steps": [
{ "include": "update remote patch" }
]
}
},
"test": "grunt test" ,
"watch": "grunt watch",
"server": "grunt connect",
"feature": {
"desc": "Create a new feature or general enhancement",
"baseBranch": "master",
"start": {
"desc": "Start a new feature",
"steps": [
{ "include": "update {{meta.branches.development}}" },
{ "include": "branch start" }
]
},
"save": {
"desc": "Save changes to your feature",
"steps": [{ "include": "branch save" }]
},
"submit": {
"desc": "Submit a pull request for a feature when it's finished",
"steps": [{ "include": "pull_request submit" }]
},
"delete": {
"desc": "Delete the current feature branch",
"steps": [{ "include": "branch delete" }]
},
"review": {
"desc": "Review a submitted feature",
"steps": [{ "include": "pull_request review" }]
},
"modify": {
"desc": "Modify a submitted feature that you are reviewing",
"steps": [{ "include": "pull_request modify" }]
},
"accept": {
"desc": "Merge a submitted feature",
"steps": [
{ "include": "update {{meta.branches.development}}" },
{ "include": "pull_request accept" }
]
}
},
"patch": {
"desc": "Create an urgent fix for the latest stable version",
"baseBranch": "stable",
"start": {
"desc": "Start a new patch",
"finished": "Make your changes and then run `contrib patch submit`",
"steps": [
{ "include": "update {{meta.branches.release}}" },
{ "include": "branch start" }
]
},
"save": {
"desc": "Save changes to your feature",
"steps": [{ "include": "branch save" }]
},
"submit": {
"desc": "Submit a pull request for a patch when it's finished",
"steps": [{ "include": "pull_request submit" }]
},
"delete": {
"desc": "Delete the current patch branch",
"steps": [{ "include": "branch delete" }]
},
"review": {
"desc": "Review a submitted patch",
"steps": [{ "include": "pull_request review" }]
},
"modify": {
"desc": "Modify a submitted patch that you are reviewing",
"steps": [{ "include": "pull_request modify" }]
},
"accept": {
"desc": "Merge a submitted patch",
"steps": [
{ "include": "update {{meta.branches.release}}" },
{ "include": "pull_request accept" },
[ "git checkout master", "Checkout the developmet branch" ],
[ "git merge stable", "Merge the patch changes" ],
[ "git push upstream master", "Push the development changes" ]
]
}
},
"report": {
"desc": "Submit a bug report",
"steps": [
{ "prompt": "text", "desc": "Create a title that is descriptive of the problem", "id": "title" },
{ "prompt": "text", "desc": "What did you do? (steps to reproduce)", "id": "reproduce" },
{ "prompt": "text", "desc": "What did you expect to happen?", "id": "expected" },
{ "prompt": "text", "desc": "What actually happened?", "id": "actual" },
{ "prompt": "text", "desc": "What version of video.js are you using?", "id": "version" },
{ "prompt": "text", "desc": "Are you using any video.js plugins?", "id": "plugins" },
{ "prompt": "text", "desc": "What browsers/platforms did you experience this in (e.g. Win 7, IE10; Android 4, Chrome;)?", "id": "browsers" },
{ "prompt": "text", "desc": "Is there a URL to a live example, or a jsbin (e.g. http://jsbin.com/axedog/9999/edit)?", "id": "example" },
{ "prompt": "text", "desc": "Are there any other details you'd like to provide?", "id": "details" },
{ "open": "{{meta.urls.repo_ui}}/issues/new?title={{title}}&body=**Steps to reproduce:**\n> {{reproduce}}\n\n**What was expected:**\n> {{expected}}\n\n**What Happened:**\n> {{actual}}\n\n**Video.js Version:**\n> {{version}}\n\n**Plugins:**\n> {{plugins}}\n\n**Browsers experienced on:**\n> {{browsers}}\n\n**Example:**\n> {{example}}\n\n**Other details:**\n> {{details}}" }
],
"finished": "Thanks for submitting a bug report! One of our contributors will address it as soon as possible."
},
"request": {
"desc": "Submit a feature/enhancement request",
"steps": [
{ "prompt": "text", "desc": "Create a title that is descriptive of the enhancement", "id": "title" },
{ "prompt": "text", "desc": "Describe the feature/enhancement (be as detailed as possible so it's clear who, why, and how it would be used)", "id": "describe" },
{ "prompt": "text", "desc": "Is there any existing documentation or related specifications?", "id": "docs" },
{ "prompt": "text", "desc": "Are there any existing examples?", "id": "examples" },
{ "prompt": "confirm", "desc": "You will be redirected to Github where you can submit this issue, OK?" },
{ "open": "{{meta.urls.repo_ui}}/issues/new?title={{ title }}&body=**Describe the feature/enhancement:**\n> {{ describe }}\n\n**Existing docs/specs:**\n> {{ docs }}\n\n**Existing examples:**\n> {{ examples }}" }
],
"finished": "Thanks for submitting a feature request! One of our contributors will address it as soon as possible."
},
"release": {
"desc": "Create and publish releases",
"patch": {
"release_type": "patch",
"description": "Create a patch release from the release branch (stable)",
"steps": [{ "include": "release run" }]
},
"minor": {
"description": "Create a minor release from the development branch (master)",
"release_type": "minor",
"steps": [
{ "include": "update local master" },
{ "include": "update local stable" },
[ "git merge master", "Copy the latest development changes to the release branch" ],
{ "include": "release run" },
[ "git checkout master", "Checkout the developmet branch" ],
[ "git merge stable", "Merge package changes into the dev brach" ],
[ "git push upstream master", "Push the dev branch changes to the repo" ]
]
},
"next": {
"patch": {
"description": "Create a patch release and tag it @next on npm",
"release_type": "patch",
"steps": [{ "include": "release run_next" }]
},
"minor": {
"description": "Create a minor release and tag it @next on npm",
"release_type": "minor",
"steps": [{ "include": "release run_next" }]
},
"major": {
"description": "Create a major release and tag it @next on npm",
"release_type": "major",
"steps": [{ "include": "release run_next" }]
}
},
"prerelease": {
"release_type": "prerelease",
"steps": [{ "include": "release run_next" }]
},
"run_next": {
"steps": [
{ "include": "branch check" },
{ "include": "update local master" },
[ "git checkout -b temp-release-branch master","Create a temporary branch for the dist" ],
[ "grunt version:{{release_type}}", "Bump package versions" ],
[ "./build/bin/version", "Return the current VJS Version from the package.json file", "version" ],
[ "grunt chg-release:{{version}}", "Update the changelog with the new release" ],
[ "git commit -am 'v{{version}}'", "Add and commit the package changes" ],
[ "git checkout master", "Checkout the developmet branch" ],
[ "git merge temp-release-branch", "Merge package changes into the dev brach" ],
[ "git push upstream master", "Push the dev branch changes to the repo" ],
[ "git checkout temp-release-branch", "Checkout the temp branch again" ],
[ "grunt dist", "Build the dist" ],
[ "git add dist --force", "Add the (otherwise ignored) release files" ],
[ "git commit -m 'v{{version}} dist'", "Commit the dist changes" ],
[ "git tag -a v{{version}} -m 'v{{version}}'", "Tag the release" ],
[ "git push upstream --tags", "Push the new tag to the repo" ],
[ "grunt github-release:prerelease", "Create a new pre-release on Github" ],
[ "npm publish --tag next", "Publish to npm as 'next'" ],
[ "git checkout master", "Checkout the developmet branch" ],
[ "git branch -D temp-release-branch", "Delete the temp release branch" ]
]
},
"run": {
"steps": [
{ "include": "branch check" },
{ "include": "update local stable" },
[ "npm install", "Ensure dependency updates have been installed" ],
[ "grunt test", "Run tests" ],
[ "grunt version:{{release_type}}", "Bump package versions" ],
[ "./build/bin/version", "Return the current VJS Version from the package.json file", "version" ],
[ "grunt chg-release:{{version}}", "Update the changelog with the new release" ],
[ "git commit -am 'v{{version}}'", "Add and commit the package changes" ],
[ "git push upstream stable", "Push the release branch changes to the repo" ],
[ "git checkout -b temp-release-branch stable","Create a temporary branch for the dist" ],
[ "grunt dist", "Build the dist" ],
[ "git add dist --force", "Add the (otherwise ignored) release files" ],
[ "git commit -m 'v{{version}} dist'", "Commit the dist changes" ],
[ "git tag -a v{{version}} -m 'v{{version}}'", "Tag the release" ],
[ "git push upstream --tags", "Push the new tag to the repo" ],
[ "npm publish", "Publish to npm" ],
[ "grunt github-release:release", "Create a new release on Github" ],
[ "git checkout stable", "Checkout the developmet branch" ],
[ "git branch -D temp-release-branch", "Delete the temp release branch" ]
]
}
},
"branch": {
"private": true,
"start": {
"steps": [
{ "prompt": "text", "id": "name", "desc": "Name the branch" },
{ "exec": "git checkout -b {{name}} {{baseBranch}}", "desc": "Create the branch" },
{ "exec": "git push -u origin {{name}}", "desc": "Push the branch to your remote copy of the project" }
]
},
"save": {
"desc": "Commit and push changes made to files in the project",
"steps": [
{ "include": "branch confirm" },
{ "prompt": "text", "id": "message", "desc": "Briefly describe the changes made" },
{ "exec": "git add .", "desc": "Add the changes" },
{ "exec": "git commit -m '{{message}}'", "desc": "Commit the changes" },
{ "exec": "git push origin {{branch_name}}", "desc": "Push the changes to your remote copy of the project" }
]
},
"check": {
"private": true,
"desc": "Check for unsaved changes",
"steps": [
{ "exec": "git diff --exit-code", "desc": "Ensure there's no unadded changes", "fail": "Make sure all changes have been saved (added and committed) or stashed" },
{ "exec": "git diff --cached --exit-code", "desc": "Ensure there's no uncommitted changes", "fail": "Make sure all changes have been saved (added and committed) or stashed" }
]
},
"name": {
"private": true,
"steps": [
{ "exec": "git rev-parse --abbrev-ref HEAD", "desc": "Get the current branch", "id": "branch_name" }
]
},
"confirm": {
"private": true,
"steps": [
{ "include": "branch name" },
{ "prompt": "confirm", "desc": "Are you sure *{{branch_name}}* is the correct branch?" }
]
},
"delete": {
"desc": "Delete the current branch",
"steps": [
{ "include": "branch confirm" },
{ "exec": "git checkout master", "desc": "Exit the branch being deleted" },
{ "exec": "git branch -D {{branch_name}}", "desc": "Delete the local copy of the branch" },
{ "exec": "git push origin :{{branch_name}}", "desc": "Delete the remote copy of the branch" }
]
}
},
"pull_request": {
"private": true,
"desc": "Pull request related commands",
"prepare": {
"private": true,
"steps": [
{ "include": "branch check" },
{ "include": "branch confirm" },
{ "include": "test" },
{ "prompt": "text", "desc": "Which github user or org are you submitting from?", "id": "user" }
]
},
"submit": {
"desc": "Submit a pull request for when the change is finished",
"steps": [
{ "include": "pull_request prepare" },
{ "open": "{{meta.urls.repo_ui}}/compare/videojs:{{baseBranch}}...{{user}}:{{branch_name}}", "desc": "Open the github pull request page" }
]
},
"review": {
"steps": [
{ "prompt": "text", "desc": "What is the the pull request number?", "id": "prNum" },
{ "get": "{{meta.urls.repo_api}}/pulls/{{prNum}}", "desc": "Get the PR information", "id": "pr" },
[ "git fetch {{pr.head.repo.ssh_url}} {{pr.head.ref}}", "Get the pull request changes but don't merge them" ],
[ "git merge-base master FETCH_HEAD", "Get the common ancestor commit", "base" ],
[ "git checkout -b review-{{pr.user.login}}-{{pr.head.ref}} {{base}}", "Create a new local branch for the pull request that has a base of the common commit" ],
[ "git merge FETCH_HEAD", "Merge in the pull request changes" ],
[ "npm install", "Install any new dependencies" ],
[ "grunt test", "Build and run tests" ]
]
},
"modify": {
"desc": "Submit a modification to a pull request that you are currently reviewing",
"steps": [
{ "include": "pull_request prepare" },
{ "prompt": "text", "desc": "What is the the pull request number?", "id": "prNum" },
{ "get": "{{meta.urls.repo_api}}/pulls/{{prNum}}", "desc": "Get the PR information", "id": "pr" },
{ "exec": "git push -u origin {{branch_name}}", "desc": "Push the changes to the remote repo" },
{ "open": "https://github.com/{{user}}/video.js/compare/{{pr.head.label}}...{{user}}:{{branch_name}}", "desc": "Open the github pull request page" }
]
},
"accept": {
"steps": [
{ "prompt": "text", "id": "prNum", "desc": "What is the the pull request number?" },
{ "get": "{{meta.urls.repo_api}}/pulls/{{prNum}}", "desc": "Get the PR information", "id": "pr" },
{ "get": "{{meta.urls.repo_api}}/pulls/{{prNum}}/commits", "desc": "Get the PR commits to access author info", "id": "prCommits" },
[ "git checkout -b {{pr.user.login}}/{{pr.head.ref}} {{pr.base.ref}}", "Create a new branch for merging the changes" ],
[ "git fetch {{pr.head.repo.ssh_url}} {{pr.head.ref}}", "Fetch the changes" ],
[ "git merge --no-commit --squash FETCH_HEAD", "Merge the changes in without committing so they can be squashed" ],
[ "grunt test", "Run tests to make sure they still pass" ],
{ "prompt": "text", "id": "line", "desc": "Describe this change in one line" },
[ "grunt chg-add:'{{{line}}} ([view](https\\://github.com/videojs/video.js/pull/{{prNum}}))'", "Add a line to the changelog" ],
[ "git add CHANGELOG.md", "Add the changlelog change to be committed" ],
[ "git commit -a --author='{{prCommits.[0].commit.author.name}} <{{prCommits.[0].commit.author.email}}>' -m '{{line}}. closes #{{prNum}}'", "Commit the changes" ],
{ "prompt": "confirm", "desc": "Does everything look ok?" },
[ "git checkout {{pr.base.ref}}", "Check out the base branch" ],
[ "git merge {{pr.user.login}}/{{pr.head.ref}}", "Merge the changes" ],
[ "git push origin {{pr.base.ref}}", "Push the changes to your remote copy of the project" ],
[ "git push upstream {{pr.base.ref}}", "Push the changes to the main project" ],
[ "git branch -D {{pr.user.login}}/{{pr.head.ref}}", "Delete the local branch used for merging" ]
]
}
}
}
-226
Ver Arquivo
@@ -1,226 +0,0 @@
API
===
The Video.js API allows you to interact with the video through Javascript, whether the browser is playing the video through HTML5 video, Flash, or any other supported playback technologies.
Referencing the Player
----------------------
To use the API functions, you need access to the player object. Luckily this is easy to get. You just need to make sure your video tag has an ID. The example embed code has an ID of "example\_video_1". If you have multiple videos on one page, make sure every video tag has a unique ID.
```js
var myPlayer = videojs("example_video_1");
```
(If the player hasn't been initialized yet via the data-setup attribute or another method, this will also initialize the player.)
Wait Until the Player is Ready
------------------------------
The time it takes Video.js to set up the video and API will vary depending on the playback technology being used (HTML5 will often be much faster to load than Flash). For that reason we want to use the player's 'ready' function to trigger any code that requires the player's API.
```javascript
videojs("example_video_1").ready(function(){
var myPlayer = this;
// EXAMPLE: Start playing the video.
myPlayer.play();
});
```
API Methods
-----------
Now that you have access to a ready player, you can control the video, get values, or respond to video events using the following functions. The Video.js API function names follow the [HTML5 media API](http://www.w3.org/TR/html5/video.html). The main difference is that attributes which you would get or set on a video element using the equals sign ( `myVideoElement.currentTime = "120";` ), you would use a function argument syntax for Video.js ( `myPlayer.currentTime(120);` )
### play() ###
Start video playback. Returns the player object.
```js
myPlayer.play();
```
### pause() ###
Pause the video playback. Returns the player object
```js
myPlayer.pause();
```
### paused() ###
Returns false if the video is currently playing, or true otherwise. ()
```js
var isPaused = myPlayer.paused();
var isPlaying = !myPlayer.paused();
```
### src(newSource) ###
The source function updates the video source. There are three types of variables you can pass as the argument.
**URL String**: A URL to the the video file. Use this method if you're sure the current playback technology (HTML5/Flash) can support the source you provide. Currently only MP4 files can be used in both HTML5 and Flash.
```js
myPlayer.src("http://www.example.com/path/to/video.mp4");
```
**Source Object (or element):** A javascript object containing information about the source file. Use this method if you want the player to determine if it can support the file using the type information.
```js
myPlayer.src({ type: "video/mp4", src: "http://www.example.com/path/to/video.mp4" });
```
**Array of Source Objects:** To provide multiple versions of the source so that it can be played using HTML5 across browsers you can use an array of source objects. Video.js will detect which version is supported and load that file.
```js
myPlayer.src([
{ type: "video/mp4", src: "http://www.example.com/path/to/video.mp4" },
{ type: "video/webm", src: "http://www.example.com/path/to/video.webm" },
{ type: "video/ogg", src: "http://www.example.com/path/to/video.ogv" }
]);
```
Returns the player object.
### currentTime() ###
Returns the current time of the video in seconds.
```js
var whereYouAt = myPlayer.currentTime();
```
### currentTime(seconds) // Type: Integer or Float ###
Seek to the supplied time (seconds). Returns the player object.
```js
myPlayer.currentTime(120); // 2 minutes into the video
```
### duration() ###
Returns the length in time of the video in seconds. NOTE: The video must have started loading before the duration can be known, and in the case of Flash, may not be known until the video starts playing.
```js
var howLongIsThis = myPlayer.duration();
```
### buffered() ###
Returns a [TimeRange](glossary.md#timerange) object with sections of the video that have been downloaded. If you just want the percent of the video that's been downloaded, use bufferedPercent.
```js
var bufferedTimeRange = myPlayer.buffered(),
// Number of different ranges of time have been buffered. Usually 1.
numberOfRanges = bufferedTimeRange.length,
// Time in seconds when the first range starts. Usually 0.
firstRangeStart = bufferedTimeRange.start(0),
// Time in seconds when the first range ends
firstRangeEnd = bufferedTimeRange.end(0),
// Length in seconds of the first time range
firstRangeLength = firstRangeEnd - firstRangeStart;
```
### bufferedPercent() ###
Returns the percent (as a decimal) of the video that's been downloaded. 0 means none, 1 means all.
```js
var howMuchIsDownloaded = myPlayer.bufferedPercent();
```
### volume() ###
Returns the current volume of the video as a percent in decimal form. 0 is off (muted), 1.0 is all the way up, 0.5 is half way.
```js
var howLoudIsIt = myPlayer.volume();
```
### volume(percentAsDecimal) ###
Set the volume to the supplied percent (as a decimal between 0 and 1).
```js
myPlayer.volume(0.5); // Set volume to half
```
### width() ###
Returns the current width of the video in pixels.
```js
var howWideIsIt = myPlayer.width();
```
### width(pixels) ###
Change the width of the video to the supplied width in pixels. Returns the player object
```js
myPlayer.width(640);
```
### height() ###
Returns the current height of the video in pixels.
```js
var howTallIsIt = myPlayer.height();
```
### height(pixels) ###
Change the height of the video to the supplied height in pixels. Returns the player object
```js
myPlayer.height(480);
```
### size(width, height) ###
Changes the width and height of the video to the supplied width and height. This is more efficient if you're changing both width and height (only triggers the player's resize event once). Returns the player object.
```js
myPlayer.size(640,480);
```
### requestFullScreen() ###
Increase the size of the video to full screen. In some browsers, full screen is not supported natively, so it enters full window mode, where the video fills the browser window. In browsers and devices that support native full screen, sometimes the browser's default controls will be shown, and not the Video.js custom skin. This includes most mobile devices (iOS, Android) and older versions of Safari. Returns the player object.
```js
myPlayer.requestFullScreen();
```
### cancelFullScreen() ###
Return the video to its normal size after having been in full screen mode. Returns the player object.
```js
myPlayer.cancelFullScreen();
```
Events
------
You can attach event listeners to the player similarly to how you would for a video element.
```js
var myFunc = function(){
var myPlayer = this;
// Do something when the event is fired
};
myPlayer.on("eventName", myFunc);
```
You can also remove the listeners later.
```js
myPlayer.off("eventName", myFunc);
```
### Event Types
List of player events you can add listeners for.
<table border="0" cellspacing="5" cellpadding="5">
<tr><th>Name</th><th>Description</th></tr>
<tr><td>loadstart</td><td>Fired when the user agent begins looking for media data.</td></tr>
<tr><td>loadedmetadata</td><td>Fired when the player has initial duration and dimension information.</td></tr>
<tr><td>loadeddata</td><td>Fired when the player has downloaded data at the current playback position.</td></tr>
<tr><td>loadedalldata</td><td>Fired when the player has finished downloading the source data.</td></tr>
<tr><td>play</td><td>Fired whenever the media begins or resumes playback.</td></tr>
<tr><td>pause</td><td>Fired whenever the media has been paused.</td></tr>
<tr><td>timeupdate</td><td>Fired when the current playback position has changed. During playback this is fired every 15-250 milliseconds, depnding on the playback technology in use.</td></tr>
<tr><td>ended</td><td>Fired when the end of the media resource is reached. currentTime == duration</td></tr>
<tr><td>durationchange</td><td>Fired when the duration of the media resource is changed, or known for the first time.</td></tr>
<tr><td>progress</td><td>Fired while the user agent is downloading media data.</td></tr>
<tr><td>resize</td><td>Fired when the width and/or height of the video window changes.</td></tr>
<tr><td>volumechange</td><td>Fired when the volume changes.</td></tr>
<tr><td>error</td><td>Fired when there is an error in playback.</td></tr>
<tr><td>fullscreenchange</td><td>Fired when the player switches in or out of fullscreen mode.</td></tr>
</table>
-91
Ver Arquivo
@@ -1,91 +0,0 @@
Components
===
The Video.js player is built on top of a simple, custom UI components architecture. The player class and all control classes inherit from the Component class, or a subclass of Component.
```js
videojs.Control = videojs.Component.extend({});
videojs.Button = videojs.Control.extend({});
videojs.PlayToggle = videojs.Button.extend({});
```
(The Class interface itself is provided using John Resig's [simple class inheritance](http://ejohn.org/blog/simple-javascript-inheritance/) also found in [JSNinja](http://jsninja.com).
The UI component architecture makes it easier to add child components to a parent component and build up an entire user interface, like the controls for the Video.js player.
```js
// Adding a new control to the player
myPlayer.addChild('BigPlayButton');
```
Every component has an associated DOM element, and when you add a child component, it inserts the element of that child into the element of the parent.
```js
myPlayer.addChild('BigPlayButton');
```
Results in:
```html
<!-- Player Element -->
<div class="video-js">
<!-- BigPlayButton Element -->
<div class="vjs-big-play-button"></div>
</div>
```
The actual default component structure of the Video.js player looks something like this:
```
Player
PosterImage
TextTrackDisplay
LoadingSpinner
BigPlayButton
ControlBar
PlayToggle
FullscreenToggle
CurrentTimeDisplay
TimeDivider
DurationDisplay
RemainingTimeDisplay
ProgressControl
SeekBar
LoadProgressBar
PlayProgressBar
SeekHandle
VolumeControl
VolumeBar
VolumeLevel
VolumeHandle
MuteToggle
```
Component Methods
-----------------
### addChild() ###
Add a child component to myComponent. This will also insert the child component's DOM element into myComponent's element.
```js
myComponent.addChild('');
```
myPlayer.addChild('BigPlayButton');
myPlayer.removeChild('BigPlayButton');
myPlayer.getChild('BiPlayButton');
myPlayer.children();
myPlayer.getChildById('biPlayButton');
myPlayer.removeChildById('my-player-big-play-button');
el();
getContentEl();
getChildren();
getParent();
#home_player_big-play-button
+330
Ver Arquivo
@@ -0,0 +1,330 @@
WEBVTT
1
00:00:15.042 --> 00:00:18.625
...إلى... إلى الشمال يمكن أن نرى
...يمكن أن نرى الـ
2
00:00:18.750 --> 00:00:20.958
...إلى اليمين يمكن أن نرى الـ
3
00:00:21.000 --> 00:00:23.125
طاحنات الرؤوس...
4
00:00:23.208 --> 00:00:25.208
كل شيئ آمن
آمن كلية
5
00:00:26.333 --> 00:00:28.333
إيمو ؟
6
00:00:28.875 --> 00:00:30.958
! حذاري
7
00:00:47.125 --> 00:00:49.167
هل أصبت ؟
8
00:00:52.125 --> 00:00:54.833
...لا أظن ذلك
وأنت ؟
9
00:00:55.625 --> 00:00:57.625
أنا بخير
10
00:00:57.667 --> 00:01:01.667
،قم يا إيمو
المكان هنا غير آمن
11
00:01:02.208 --> 00:01:04.083
لنذهب
12
00:01:04.167 --> 00:01:06.167
وماذا بعد ؟
13
00:01:06.167 --> 00:01:08.583
...سترى... سترى
14
00:01:16.167 --> 00:01:18.375
إيمو، من هنا
15
00:01:34.958 --> 00:01:37.000
! إتبعني
16
00:02:11.125 --> 00:02:13.625
! أسرع يا إيمو
17
00:02:48.375 --> 00:02:50.375
! لست منتبها
18
00:02:50.750 --> 00:02:54.500
...أريد فقط أن أجيب الـ
الهاتف...
19
00:02:55.000 --> 00:02:58.500
،إيمو، أنظر
أقصد أنصت
20
00:02:59.750 --> 00:03:03.292
عليك أن تتعلم الإصغاء
21
00:03:03.625 --> 00:03:05.917
هذا ليس ضربا من اللهو
22
00:03:06.083 --> 00:03:09.958
...إنك
أقصد إننا قد نموت بسهولة في هذا المكان
23
00:03:10.208 --> 00:03:14.125
...أنصت
أنصت إلى أصوات الآلة
24
00:03:18.333 --> 00:03:20.417
أنصت إلى نَفَسِك
25
00:04:27.208 --> 00:04:29.250
ألا تمل أبدا من هذا ؟
26
00:04:29.583 --> 00:04:31.583
أمل ؟!؟
نعم -
27
00:04:31.750 --> 00:04:34.667
إيمو؛ الآلة في دقتها... مثل الساعة
28
00:04:35.500 --> 00:04:37.708
...حركة ناشزة واحدة قد
29
00:04:37.833 --> 00:04:39.875
تطرحك معجونا
30
00:04:41.042 --> 00:04:43.083
...أو ليست
31
00:04:43.125 --> 00:04:46.542
! عجينة يا إيمو
أ هذا ما تريد ؟ أن تصبح عجينة ؟
32
00:04:48.083 --> 00:04:50.083
أيمو، أ هذا هدفك في الحياة ؟
33
00:04:50.583 --> 00:04:52.667
أن تصير عجينة ؟
34
00:05:41.833 --> 00:05:43.875
إيمو، أغمض عينيك
35
00:05:44.917 --> 00:05:47.000
لماذا ؟
! الآن -
36
00:05:53.750 --> 00:05:56.042
حسن
37
00:05:59.542 --> 00:06:02.792
ماذا ترى إلى شمالك يا إيمو ؟
38
00:06:04.417 --> 00:06:06.500
لا شيئ
حقا ؟ -
39
00:06:06.542 --> 00:06:08.625
لا، لا شيئ البتة
40
00:06:08.625 --> 00:06:12.417
وماذا ترى إلى جهتك اليمنى يا إيمو ؟
41
00:06:13.667 --> 00:06:17.833
،نفس الشيئ يا بروغ
! نفس الشيئ بالضبط؛ لا شيئ
42
00:06:17.875 --> 00:06:19.917
عظيم
43
00:06:40.625 --> 00:06:42.958
أنصت يا بروغ ! هل تسمع ذلك ؟
44
00:06:43.625 --> 00:06:45.625
هل نستطيع الذهاب إلى هناك ؟
45
00:06:45.708 --> 00:06:47.792
هناك ؟
نعم -
46
00:06:47.833 --> 00:06:49.833
إنه غير آمن يا إيمو
47
00:06:49.917 --> 00:06:52.500
صدقني، إنه غير آمن
48
00:06:53.292 --> 00:06:55.375
...لكن لعلي أستطيع
49
00:06:55.417 --> 00:06:57.417
...لكن
! لا -
50
00:06:57.667 --> 00:06:59.667
! لا
51
00:07:00.875 --> 00:07:03.750
هل من أسئلة أخرى يا إيمو ؟
52
00:07:04.250 --> 00:07:06.333
لا
53
00:07:09.458 --> 00:07:11.542
...إيمو
نعم -
54
00:07:11.875 --> 00:07:13.958
...لماذا يا إيمو... لماذا
55
00:07:15.292 --> 00:07:18.792
لماذا لا تستطيع أن ترى حُسْن هذا المكان
56
00:07:18.833 --> 00:07:20.833
...والطريقة التي يعمل بها
57
00:07:20.875 --> 00:07:24.000
وكيف... وكيف أنه غاية في الكمال
58
00:07:24.083 --> 00:07:27.417
! لا يا بروغ، لا أرى ذلك
59
00:07:27.542 --> 00:07:30.333
لا أرى ذلك لأنه لا يوجد شيئ هناك
60
00:07:31.500 --> 00:07:35.333
ثم لماذا يجب علي أن أسلم حياتي
لشيئ لا وجود له ؟
61
00:07:35.583 --> 00:07:37.625
هل يمكنك أن تخبرني ؟
62
00:07:37.708 --> 00:07:39.750
! أجبني
63
00:07:43.208 --> 00:07:47.333
...بروغ
! أنت معتوه يا هذا
64
00:07:47.375 --> 00:07:49.417
! إبعد عني
65
00:07:52.583 --> 00:07:55.083
! لا يا إيمو ! إنه فخ
66
00:07:55.833 --> 00:07:57.875
...إنه فخ
67
00:07:57.917 --> 00:08:01.750
إلى جنبك الأيسر يمكنك أن ترى
حدائق بابل المعلقة
68
00:08:02.250 --> 00:08:04.292
هل تعجبك كفخ ؟
69
00:08:05.458 --> 00:08:07.542
لا يا أيمو
70
00:08:09.417 --> 00:08:12.792
...إلى جنبك الأيمن يمكنك رؤية
حزر ماذا ؟
71
00:08:13.000 --> 00:08:15.042
! عملاق رودس
72
00:08:15.125 --> 00:08:16.417
! لا
73
00:08:16.458 --> 00:08:20.500
،عملاق رودس
وهو هنا خصيصا من أجلك يا بروغ
74
00:08:20.583 --> 00:08:22.583
فقط من أجلك
75
00:08:51.333 --> 00:08:53.375
إنه هناك
76
00:08:53.417 --> 00:08:55.500
أنا أؤكد لك... إيمو
77
00:08:57.333 --> 00:09:00.000
...إنه
+334
Ver Arquivo
@@ -0,0 +1,334 @@
WEBVTT
1
00:00:15.000 --> 00:00:17.951
At the left we can see...
2
00:00:18.166 --> 00:00:20.083
At the right we can see the...
3
00:00:20.119 --> 00:00:21.962
...the head-snarlers
4
00:00:21.999 --> 00:00:24.368
Everything is safe.
Perfectly safe.
5
00:00:24.582 --> 00:00:27.035
Emo?
6
00:00:28.206 --> 00:00:29.996
Watch out!
7
00:00:47.037 --> 00:00:48.494
Are you hurt?
8
00:00:51.994 --> 00:00:53.949
I don't think so.
You?
9
00:00:55.160 --> 00:00:56.985
I'm Ok.
10
00:00:57.118 --> 00:01:01.111
Get up.
Emo. it's not safe here.
11
00:01:02.034 --> 00:01:03.573
Let's go.
12
00:01:03.610 --> 00:01:05.114
What's next?
13
00:01:05.200 --> 00:01:09.146
You'll see!
14
00:01:16.032 --> 00:01:18.022
Emo.
This way.
15
00:01:34.237 --> 00:01:35.481
Follow me!
16
00:02:11.106 --> 00:02:12.480
Hurry Emo!
17
00:02:48.059 --> 00:02:49.930
You're not paying attention!
18
00:02:50.142 --> 00:02:54.052
I just want to answer the...
...phone.
19
00:02:54.974 --> 00:02:57.972
Emo. look.
I mean listen.
20
00:02:59.140 --> 00:03:02.008
You have to learn to listen.
21
00:03:03.140 --> 00:03:04.965
This is not some game.
22
00:03:05.056 --> 00:03:09.345
You. I mean we.
we could easily die out here.
23
00:03:10.014 --> 00:03:13.959
Listen.
listen to the sounds of the machine.
24
00:03:18.054 --> 00:03:20.009
Listen to your breathing.
25
00:04:27.001 --> 00:04:28.956
Well. don't you ever get tired of this?
26
00:04:29.084 --> 00:04:30.909
Tired?!?
27
00:04:31.126 --> 00:04:34.491
Emo. the machine is like clockwork.
28
00:04:35.083 --> 00:04:37.074
One move out of place...
29
00:04:37.166 --> 00:04:39.121
...and you're ground to a pulp.
30
00:04:40.958 --> 00:04:42.004
But isn't it -
31
00:04:42.041 --> 00:04:46.034
Pulp. Emo!
Is that what you want. pulp?
32
00:04:47.040 --> 00:04:48.995
Emo. your goal in life...
33
00:04:50.081 --> 00:04:51.953
...pulp?
34
00:05:41.156 --> 00:05:43.028
Emo. close your eyes.
35
00:05:44.156 --> 00:05:46.027
Why?
- Now!
36
00:05:51.155 --> 00:05:52.102
Ok.
37
00:05:53.113 --> 00:05:54.688
Good.
38
00:05:59.070 --> 00:06:02.103
What do you see at your left side. Emo?
39
00:06:04.028 --> 00:06:05.899
Nothing.
- Really?
40
00:06:06.027 --> 00:06:07.105
No. nothing at all.
41
00:06:07.944 --> 00:06:11.984
And at your right.
what do you see at your right side. Emo?
42
00:06:13.151 --> 00:06:16.102
The same Proog. exactly the same...
43
00:06:16.942 --> 00:06:19.098
...nothing!
- Great.
44
00:06:40.105 --> 00:06:42.724
Listen Proog! Do you hear that!
45
00:06:43.105 --> 00:06:44.894
Can we go here?
46
00:06:44.979 --> 00:06:47.894
There?
It isn't safe. Emo.
47
00:06:49.145 --> 00:06:52.013
But...
- Trust me. it's not.
48
00:06:53.020 --> 00:06:54.145
Maybe I could...
49
00:06:54.181 --> 00:06:55.969
No.
50
00:06:57.102 --> 00:06:59.934
NO!
51
00:07:00.144 --> 00:07:03.058
Any further questions. Emo?
52
00:07:03.976 --> 00:07:05.090
No.
53
00:07:09.059 --> 00:07:10.089
Emo?
54
00:07:11.142 --> 00:07:13.058
Emo. why...
55
00:07:13.095 --> 00:07:14.022
Emo...
56
00:07:14.058 --> 00:07:18.003
...why can't you see
the beauty of this place?
57
00:07:18.141 --> 00:07:20.048
The way it works.
58
00:07:20.140 --> 00:07:23.895
How perfect it is.
59
00:07:23.932 --> 00:07:26.964
No. Proog. I don't see.
60
00:07:27.056 --> 00:07:29.970
I don't see because there's nothing there.
61
00:07:31.055 --> 00:07:34.965
And why should I trust my
life to something that isn't there?
62
00:07:35.055 --> 00:07:36.926
Well can you tell me that?
63
00:07:37.054 --> 00:07:38.926
Answer me!
64
00:07:42.970 --> 00:07:44.000
Proog...
65
00:07:45.053 --> 00:07:46.985
...you're a sick man!
66
00:07:47.022 --> 00:07:48.918
Stay away from me!
67
00:07:52.052 --> 00:07:54.884
No! Emo! It's a trap!
68
00:07:55.135 --> 00:07:56.931
Hah. it's a trap.
69
00:07:56.968 --> 00:08:01.043
At the left side you can see
the hanging gardens of Babylon!
70
00:08:01.967 --> 00:08:03.957
How's that for a trap?
71
00:08:05.050 --> 00:08:06.922
No. Emo.
72
00:08:09.008 --> 00:08:12.088
At the right side you can see...
...well guess what...
73
00:08:12.924 --> 00:08:14.665
...the colossus of Rhodes!
74
00:08:15.132 --> 00:08:16.053
No!
75
00:08:16.090 --> 00:08:21.919
The colossus of Rhodes
and it is here just for you Proog.
76
00:08:51.001 --> 00:08:52.923
It is there...
77
00:08:52.959 --> 00:08:56.040
I'm telling you.
Emo...
78
00:08:57.000 --> 00:08:59.867
...it is.
+326
Ver Arquivo
@@ -0,0 +1,326 @@
WEBVTT
1
00:00:15.042 --> 00:00:18.042
左に見えるのは…
2
00:00:18.750 --> 00:00:20.333
右に見えるのは…
3
00:00:20.417 --> 00:00:21.917
…首刈り機
4
00:00:22.000 --> 00:00:24.625
すべて安全
完璧に安全だ
5
00:00:26.333 --> 00:00:27.333
イーモ?
6
00:00:28.875 --> 00:00:30.250
危ない!
7
00:00:47.125 --> 00:00:48.250
ケガはないか?
8
00:00:51.917 --> 00:00:53.917
ええ、多分…
あなたは?
9
00:00:55.625 --> 00:00:57.125
わしは平気だ
10
00:00:57.583 --> 00:01:01.667
起きてくれイーモ
ここは危ない
11
00:01:02.208 --> 00:01:03.667
行こう
12
00:01:03.750 --> 00:01:04.917
どこに?
13
00:01:05.875 --> 00:01:07.875
すぐにわかるさ!
14
00:01:16.167 --> 00:01:18.375
イーモ、こっちだ
15
00:01:34.958 --> 00:01:36.958
ついて来るんだ!
16
00:02:11.583 --> 00:02:12.792
イーモ、早く!
17
00:02:48.375 --> 00:02:50.083
むやみにさわるな!
18
00:02:50.750 --> 00:02:54.500
僕はただ、電話に
…出ようと
19
00:02:55.000 --> 00:02:58.208
イーモ、見るんだ…
いや、聞いてくれ
20
00:02:59.750 --> 00:03:02.292
君は「聞き方」を知る必要がある
21
00:03:03.625 --> 00:03:05.125
これは遊びじゃない
22
00:03:06.167 --> 00:03:10.417
我々はここでは
たやすく死ぬ
23
00:03:11.208 --> 00:03:14.125
機械の声を聞くんだ
24
00:03:18.333 --> 00:03:22.417
君の息づかいを聞くんだ
25
00:04:27.208 --> 00:04:29.250
そんなことして疲れない?
26
00:04:29.583 --> 00:04:31.083
疲れる?!
27
00:04:31.750 --> 00:04:34.667
この機械は非常に正確で
28
00:04:35.500 --> 00:04:37.708
一つ間違えば…
29
00:04:37.833 --> 00:04:40.792
…地面に落ちてバラバラだ
30
00:04:41.042 --> 00:04:42.375
え、でも―
31
00:04:42.417 --> 00:04:46.542
バラバラだぞ、イーモ!
それでいいのか?
32
00:04:48.083 --> 00:04:50.000
バラバラで死ぬんだぞ?
33
00:04:50.583 --> 00:04:52.250
バラバラだ!
34
00:05:41.833 --> 00:05:43.458
イーモ、目を閉じるんだ
35
00:05:44.917 --> 00:05:46.583
なぜ?
―早く!
36
00:05:53.750 --> 00:05:56.042
それでいい
37
00:05:59.542 --> 00:06:03.792
左に見えるものは何だ、イーモ?
38
00:06:04.417 --> 00:06:06.000
え…何も
―本当か?
39
00:06:06.333 --> 00:06:07.917
全く何も
40
00:06:08.042 --> 00:06:12.833
では右は
何か見えるか、イーモ?
41
00:06:13.875 --> 00:06:16.917
同じだよプルーグ、全く同じ…
42
00:06:17.083 --> 00:06:18.583
何もない!
43
00:06:40.625 --> 00:06:43.208
プルーグ!何か聞こえない?
44
00:06:43.625 --> 00:06:45.042
あそこに行かないか?
45
00:06:45.208 --> 00:06:48.042
あそこ?
…安全じゃない
46
00:06:49.917 --> 00:06:52.500
でも…
―本当に危ないぞ
47
00:06:53.292 --> 00:06:54.792
大丈夫だよ…
48
00:06:54.833 --> 00:06:56.333
だめだ
49
00:06:57.667 --> 00:07:00.167
だめだ!
50
00:07:00.875 --> 00:07:03.750
まだ続ける気か、イーモ?
51
00:07:04.250 --> 00:07:05.917
いいえ…
52
00:07:09.458 --> 00:07:10.833
イーモ?
53
00:07:11.875 --> 00:07:13.542
イーモ、なぜ…
54
00:07:13.583 --> 00:07:14.458
イーモ…
55
00:07:14.500 --> 00:07:18.500
…なぜここの美しさが
見えない?
56
00:07:18.833 --> 00:07:20.750
仕組みがこんなに…
57
00:07:20.875 --> 00:07:24.000
こんなに完全なのに
58
00:07:24.083 --> 00:07:27.417
もういいよ!プルーグ!
59
00:07:27.542 --> 00:07:30.333
そこには何もないんだから
60
00:07:31.500 --> 00:07:35.333
なぜ命を「ない」物に
ゆだねなきゃ?
61
00:07:35.583 --> 00:07:37.125
教えてくれないか?
62
00:07:37.500 --> 00:07:39.167
さあ!
63
00:07:43.208 --> 00:07:44.583
プルーグ…
64
00:07:45.500 --> 00:07:47.333
あなたは病気なんだ
65
00:07:47.375 --> 00:07:49.208
僕から離れてくれ
66
00:07:52.583 --> 00:07:55.083
いかん!イーモ!ワナだ!
67
00:07:55.833 --> 00:07:57.167
ワナだ? ふーん
68
00:07:57.208 --> 00:08:01.750
左に何が見える?
バビロンの空中庭園!
69
00:08:02.250 --> 00:08:04.292
これがワナとでも?
70
00:08:05.458 --> 00:08:07.125
だめだ、イーモ
71
00:08:09.417 --> 00:08:12.792
右にあるのは…
…すごい!…
72
00:08:13.000 --> 00:08:14.750
…ロードス島の巨像だ!
73
00:08:15.833 --> 00:08:16.708
やめろ!
74
00:08:16.750 --> 00:08:22.167
この巨像はあなたの物
プルーグ、あなたのだよ
75
00:08:51.333 --> 00:08:53.167
いってるじゃないか…
76
00:08:53.208 --> 00:08:55.500
そこにあるって、イーモ…
77
00:08:57.333 --> 00:09:00.000
…あるって
+356
Ver Arquivo
@@ -0,0 +1,356 @@
WEBVTT
1
00:00:14.958 --> 00:00:17.833
Слева мы видим...
2
00:00:18.458 --> 00:00:20.208
справа мы видим...
3
00:00:20.333 --> 00:00:21.875
...голово-клацов.
4
00:00:22.000 --> 00:00:24.583
всё в порядке.
в полном порядке.
5
00:00:26.333 --> 00:00:27.333
Имо?
6
00:00:28.833 --> 00:00:30.250
Осторожно!
7
00:00:47.125 --> 00:00:48.250
Ты не ранен?
8
00:00:51.875 --> 00:00:53.875
Вроде нет...
а ты?
9
00:00:55.583 --> 00:00:57.125
Я в порядке.
10
00:00:57.542 --> 00:01:01.625
Вставай.
Имо. здесь не безопасно.
11
00:01:02.208 --> 00:01:03.625
Пойдём.
12
00:01:03.708 --> 00:01:05.708
Что дальше?
13
00:01:05.833 --> 00:01:07.833
Ты увидишь!
14
00:01:08.000 --> 00:01:08.833
Ты увидишь...
15
00:01:16.167 --> 00:01:18.375
Имо. сюда.
16
00:01:34.917 --> 00:01:35.750
За мной!
17
00:02:11.542 --> 00:02:12.750
Имо. быстрее!
18
00:02:48.375 --> 00:02:50.083
Ты не обращаешь внимания!
19
00:02:50.708 --> 00:02:54.500
Я только хотел ответить на ...
...звонок.
20
00:02:55.000 --> 00:02:58.208
Имо. смотри.
то есть слушай...
21
00:02:59.708 --> 00:03:02.292
Ты должен учиться слушать.
22
00:03:03.250 --> 00:03:05.333
Это не какая-нибудь игра.
23
00:03:06.000 --> 00:03:08.833
Ты. вернее мы. легко можем погибнуть здесь.
24
00:03:10.000 --> 00:03:11.167
Слушай...
25
00:03:11.667 --> 00:03:14.125
слушай звуки машины.
26
00:03:18.333 --> 00:03:20.417
Слушай своё дыхание.
27
00:04:27.208 --> 00:04:29.250
И не надоест тебе это?
28
00:04:29.542 --> 00:04:31.083
Надоест?!?
29
00:04:31.708 --> 00:04:34.625
Имо! Машина -
она как часовой механизм.
30
00:04:35.500 --> 00:04:37.667
Одно движение не туда...
31
00:04:37.792 --> 00:04:39.750
...и тебя размелют в месиво!
32
00:04:41.042 --> 00:04:42.375
А разве это не -
33
00:04:42.417 --> 00:04:46.500
Месиво. Имо!
ты этого хочешь? месиво?
34
00:04:48.083 --> 00:04:50.000
Имо. твоя цель в жизни?
35
00:04:50.542 --> 00:04:52.250
Месиво!
36
00:05:41.792 --> 00:05:43.458
Имо. закрой глаза.
37
00:05:44.875 --> 00:05:46.542
Зачем?
- Ну же!
38
00:05:51.500 --> 00:05:52.333
Ладно.
39
00:05:53.708 --> 00:05:56.042
Хорошо.
40
00:05:59.500 --> 00:06:02.750
Что ты видишь слева от себя. Имо?
41
00:06:04.417 --> 00:06:06.000
Ничего.
- Точно?
42
00:06:06.333 --> 00:06:07.875
да. совсем ничего.
43
00:06:08.042 --> 00:06:12.708
А справа от себя.
что ты видишь справа от себя. Имо?
44
00:06:13.833 --> 00:06:16.875
Да то же Пруг. в точности то же...
45
00:06:17.042 --> 00:06:18.500
Ничего!
46
00:06:18.667 --> 00:06:19.500
Прекрасно...
47
00:06:40.583 --> 00:06:42.917
Прислушайся. Пруг! Ты слышишь это?
48
00:06:43.583 --> 00:06:45.042
Может. мы пойдём туда?
49
00:06:45.208 --> 00:06:48.042
Туда?
Это не безопасно. Имо.
50
00:06:49.875 --> 00:06:52.500
Но...
- Поверь мне. это так.
51
00:06:53.292 --> 00:06:54.750
Может я бы ...
52
00:06:54.792 --> 00:06:56.333
Нет.
53
00:06:57.625 --> 00:06:59.583
- Но...
- НЕТ!
54
00:06:59.708 --> 00:07:00.833
Нет!
55
00:07:00.833 --> 00:07:03.708
Ещё вопросы. Имо?
56
00:07:04.250 --> 00:07:05.875
Нет.
57
00:07:09.458 --> 00:07:10.792
Имо?
58
00:07:11.833 --> 00:07:13.500
Имо. почему...
59
00:07:13.542 --> 00:07:14.458
Имо...
60
00:07:14.500 --> 00:07:18.500
...почему? почему ты не видишь
красоты этого места?
61
00:07:18.792 --> 00:07:20.708
То как оно работает.
62
00:07:20.833 --> 00:07:24.000
Как совершенно оно.
63
00:07:24.083 --> 00:07:27.417
Нет. Пруг. я не вижу.
64
00:07:27.500 --> 00:07:30.333
Я не вижу. потому что здесь ничего нет.
65
00:07:31.375 --> 00:07:35.333
И почему я должен доверять свою жизнь
чему-то. чего здесь нет?
66
00:07:35.542 --> 00:07:37.125
это ты мне можешь сказать?
67
00:07:37.500 --> 00:07:39.167
Ответь мне!
68
00:07:43.208 --> 00:07:44.542
Пруг...
69
00:07:45.500 --> 00:07:47.333
Ты просто больной!
70
00:07:47.375 --> 00:07:48.500
Отстань от меня.
71
00:07:48.625 --> 00:07:49.917
Имо...
72
00:07:52.542 --> 00:07:55.083
Нет! Имо! Это ловушка!
73
00:07:55.792 --> 00:07:57.167
Это ловушка!
74
00:07:57.208 --> 00:08:01.708
Слева от себя вы можете увидеть
Висящие сады Семирамиды!
75
00:08:02.250 --> 00:08:04.292
Сойдёт за ловушку?
76
00:08:05.458 --> 00:08:07.125
Нет. Имо.
77
00:08:09.417 --> 00:08:12.750
Справа от себя вы можете увидеть...
...угадай кого...
78
00:08:13.000 --> 00:08:14.708
...Колосса Родосского!
79
00:08:15.500 --> 00:08:16.625
Нет!
80
00:08:16.667 --> 00:08:21.125
Колосс Родосский!
И он здесь специально для тебя. Пруг.
81
00:08:21.167 --> 00:08:22.208
Специально для тебя...
82
00:08:51.333 --> 00:08:53.167
Она здесь есть!
83
00:08:53.208 --> 00:08:55.500
Говорю тебе.
Имо...
84
00:08:57.333 --> 00:09:00.000
...она есть... есть...
+349
Ver Arquivo
@@ -0,0 +1,349 @@
WEBVTT
1
00:00:15.042 --> 00:00:18.250
Till vänster kan vi se...
Ser vi...
2
00:00:18.708 --> 00:00:20.333
Till höger ser vi...
3
00:00:20.417 --> 00:00:21.958
...huvudkaparna.
4
00:00:22.000 --> 00:00:24.792
Allt är säkert.
alldeles ofarligt.
5
00:00:24.917 --> 00:00:26.833
Emo?
6
00:00:28.750 --> 00:00:30.167
Se upp!
7
00:00:46.708 --> 00:00:48.750
Är du skadad?
8
00:00:51.875 --> 00:00:54.458
Jag tror inte det...
Är du?
9
00:00:55.292 --> 00:00:57.333
Jag är ok.
10
00:00:57.542 --> 00:01:01.625
Res dig upp Emo.
Det är inte säkert här.
11
00:01:02.208 --> 00:01:03.625
Kom så går vi.
12
00:01:03.708 --> 00:01:05.708
Vad nu då?
13
00:01:05.833 --> 00:01:07.833
Du får se...
14
00:01:08.042 --> 00:01:10.417
Du får se.
15
00:01:15.958 --> 00:01:18.375
Emo. den här vägen.
16
00:01:34.417 --> 00:01:36.750
Följ efter mig!
17
00:02:11.250 --> 00:02:13.250
Skynda dig. Emo!
18
00:02:48.375 --> 00:02:50.583
Du är inte uppmärksam!
19
00:02:50.708 --> 00:02:54.500
Jag vill bara svara...
... i telefonen.
20
00:02:54.500 --> 00:02:58.208
Emo. se här...
Lyssna menar jag.
21
00:02:59.708 --> 00:03:02.292
Du måste lära dig att lyssna.
22
00:03:03.292 --> 00:03:05.208
Det här är ingen lek.
23
00:03:05.250 --> 00:03:08.917
Du... Jag menar vi.
vi skulle kunna dö här ute.
24
00:03:09.917 --> 00:03:11.417
Lyssna...
25
00:03:11.708 --> 00:03:14.833
Lyssna på ljuden från maskinen.
26
00:03:18.125 --> 00:03:21.417
Lyssna på dina andetag.
27
00:04:26.625 --> 00:04:29.250
Tröttnar du aldrig på det här?
28
00:04:29.542 --> 00:04:31.083
Tröttnar!?
29
00:04:31.208 --> 00:04:33.458
Emo. maskinen är som...
30
00:04:33.458 --> 00:04:35.333
Som ett urverk.
31
00:04:35.417 --> 00:04:37.167
Ett felsteg...
32
00:04:37.208 --> 00:04:39.750
...och du blir krossad.
33
00:04:41.042 --> 00:04:42.292
Men är det inte -
34
00:04:42.292 --> 00:04:47.000
Krossad. Emo!
Är det vad du vill bli? Krossad till mos?
35
00:04:47.500 --> 00:04:50.542
Emo. är det ditt mål i livet?
36
00:04:50.667 --> 00:04:53.250
Att bli mos!?
37
00:05:41.375 --> 00:05:43.458
Emo. blunda.
38
00:05:44.375 --> 00:05:46.542
Varför då?
- Blunda!
39
00:05:51.292 --> 00:05:55.042
Ok.
- Bra.
40
00:05:59.500 --> 00:06:02.750
Vad ser du till vänster om dig Emo?
41
00:06:04.125 --> 00:06:06.292
Ingenting.
- Säker?
42
00:06:06.333 --> 00:06:07.958
Ingenting alls.
43
00:06:08.042 --> 00:06:12.625
Jaså. och till höger om dig...
Vad ser du där. Emo?
44
00:06:13.750 --> 00:06:15.583
Samma där Proog...
45
00:06:15.583 --> 00:06:18.083
Exakt samma där. ingenting!
46
00:06:18.083 --> 00:06:19.667
Perfekt.
47
00:06:40.500 --> 00:06:42.917
Lyssna Proog! Hör du?
48
00:06:43.500 --> 00:06:45.125
Kan vi gå dit?
49
00:06:45.208 --> 00:06:48.125
Gå dit?
Det är inte tryggt.
50
00:06:49.583 --> 00:06:52.583
Men. men...
- Tro mig. det inte säkert.
51
00:06:53.000 --> 00:06:54.292
Men kanske om jag -
52
00:06:54.292 --> 00:06:56.333
Nej.
53
00:06:57.208 --> 00:07:00.167
Men -
- Nej. NEJ!
54
00:07:00.917 --> 00:07:03.792
Några fler frågor Emo?
55
00:07:04.250 --> 00:07:05.875
Nej.
56
00:07:09.542 --> 00:07:11.375
Emo?
- Ja?
57
00:07:11.542 --> 00:07:15.667
Emo. varför...
58
00:07:15.792 --> 00:07:18.583
Varför kan du inte se skönheten i det här?
59
00:07:18.792 --> 00:07:21.708
Hur det fungerar.
60
00:07:21.833 --> 00:07:24.000
Hur perfekt det är.
61
00:07:24.083 --> 00:07:27.333
Nej Proog. jag kan inte se det.
62
00:07:27.333 --> 00:07:30.333
Jag ser det inte. för det finns inget där.
63
00:07:31.292 --> 00:07:35.333
Och varför skulle jag lägga mitt liv
i händerna på något som inte finns?
64
00:07:35.333 --> 00:07:37.083
Kan du berätta det för mig?
- Emo...
65
00:07:37.083 --> 00:07:39.167
Svara mig!
66
00:07:43.500 --> 00:07:45.208
Proog...
67
00:07:45.208 --> 00:07:47.083
Du är inte frisk!
68
00:07:47.167 --> 00:07:49.292
Håll dig borta från mig!
69
00:07:52.292 --> 00:07:55.083
Nej! Emo!
Det är en fälla!
70
00:07:55.375 --> 00:07:57.208
Heh. det är en fälla.
71
00:07:57.208 --> 00:08:01.708
På vänster sida ser vi...
Babylons hängande trädgårdar!
72
00:08:01.958 --> 00:08:04.000
Vad sägs om den fällan?
73
00:08:05.458 --> 00:08:07.333
Nej. Emo.
74
00:08:08.917 --> 00:08:12.667
Till höger ser vi...
Gissa!
75
00:08:12.750 --> 00:08:15.125
Rhodos koloss!
76
00:08:15.375 --> 00:08:16.500
Nej!
77
00:08:16.500 --> 00:08:20.250
Kolossen på Rhodos!
Och den är här för din skull. Proog...
78
00:08:20.250 --> 00:08:23.250
Bara för din skull.
79
00:08:50.917 --> 00:08:53.250
Den är där...
80
00:08:53.625 --> 00:08:56.417
Tro mig.
Emo...
81
00:08:57.000 --> 00:09:00.000
Det är den.
Det är den...
+44
Ver Arquivo
@@ -0,0 +1,44 @@
WEBVTT
NOTE Created by Owen Edwards 2015. http://creativecommons.org/licenses/by/2.5/
NOTE Based on 'finalbreakdown.rtf', part of the prepoduction notes, which are:
NOTE (c) Copyright 2006, Blender Foundation /
NOTE Netherlands Media Art Institute /
NOTE www.elephantsdream.org
1
00:00:00.000 --> 00:00:27.500
Prologue
2
00:00:27.500 --> 00:01:10.000
Switchboard trap
3
00:01:10.000 --> 00:03:25.000
Telephone/Lecture
4
00:03:25.000 --> 00:04:52.000
Typewriter
5
00:04:52.000 --> 00:06:19.500
Proog shows Emo stuff
6
00:06:19.500 --> 00:07:09.000
Which way
7
00:07:09.000 --> 00:07:45.000
Emo flips out
8
00:07:45.000 --> 00:09:25.000
Emo creates
9
00:09:25.000 --> 00:10:53.000
Closing credits
@@ -0,0 +1,280 @@
WEBVTT
License: CC BY 4.0 http://creativecommons.org/licenses/by/4.0/
Author: Silvia Pfeiffer
1
00:00:00.000 --> 00:00:05.000
The orange open movie project presents
2
00:00:05.010 --> 00:00:12.000
Introductory titles are showing on the background of a water pool with fishes swimming and mechanical objects lying on a stone floor.
3
00:00:12.010 --> 00:00:14.800
elephants dream
4
00:00:26.100 --> 00:00:28.206
Two people stand on a small bridge.
5
00:00:30.010 --> 00:00:40.000
The old man, Proog, shoves the younger and less experienced Emo on the ground to save him from being mowed down by a barrage of jack plugs that whir back and forth between the two massive switch-board-like walls.
6
00:00:40.000 --> 00:00:47.000
The plugs are oblivious of the two, endlessly channeling streams of bizarre sounds and data.
7
00:00:48.494 --> 00:00:51.994
Emo sits on the bridge and checks his limbs.
8
00:01:09.150 --> 00:01:16.030
After the squealing plugs move on, Proog makes sure that Emo is unharmed and urges him onwards through a crack in one of the plug-walls.
9
00:01:18.050 --> 00:01:24.000
They walk through the narrow hall into a massive room that fades away into blackness on all sides.
10
00:01:24.050 --> 00:01:34.200
Only one path is visible, suspended in mid-air that runs between thousands of dangling electric cables on which sit crowds of robin-like robotic birds.
11
00:01:36.000 --> 00:01:40.000
As Proog and Emo enter the room, the birds begin to wake up and notice them.
12
00:01:42.000 --> 00:01:50.000
Realizing the danger, Proog grabs Emo by the arm.
13
00:01:50.050 --> 00:02:00.000
They run along the increasingly bizarre path as the birds begin to swarm.
14
00:02:00.050 --> 00:02:11.000
All sound is blocked out by the birds which are making the same noises as the jack-plugs, garbled screaming and obscure sentences and static.
15
00:02:12.600 --> 00:02:17.000
The path dead-ends, stopping in the middle of no-where above the infinite drop.
16
00:02:17.600 --> 00:02:22.000
Proog turns around as the birds reach them and begin to dive-bomb at them.
17
00:02:22.600 --> 00:02:28.000
At the last moment, Proog takes out an old candlestick phone and the birds dive into the speaker piece.
18
00:02:28.600 --> 00:02:31.000
The screen cuts to black.
19
00:02:31.600 --> 00:02:38.000
In the next scene, Proog stands at one end of a room, suspiciously watching what is probably the same candlestick phone, which is ringing.
20
00:02:38.500 --> 00:02:41.000
Emo watches from the other side of the room.
21
00:02:41.500 --> 00:02:43.000
The phone continues to ring.
22
00:02:43.500 --> 00:02:48.000
After a while Emo approaches it to answer it, but Proog slaps his hand away.
23
00:02:57.972 --> 00:02:59.100
Proog takes the ear-piece off the hook.
24
00:03:13.500 --> 00:03:18.054
The phone speaker revealed a mass of clawed, fleshy polyps which scream and gibber obscenely.
25
00:03:25.000 --> 00:03:33.000
There is a solemn silence as Emo looks around the room and the technical objects therein.
26
00:03:38.000 --> 00:03:44.000
Emo laughs disbelievingly and Proog walks away.
27
00:03:46.000 --> 00:03:54.000
In the next scene, the two enter another massive black room.
28
00:03:54.500 --> 00:04:04.000
There is no path, the entry platform is the only structure that seems to be there except for another exit, lit distantly at the far side.
29
00:04:04.500 --> 00:04:14.000
Proog takes a step forward into the void, and his feet are suddenly caught by giant typewriter arms that rocket up out of the blackness to catch his feet as he dances across mid-air.
30
00:04:14.500 --> 00:04:22.000
Emo follows Proog with somewhat less enthusiasm as the older man leads the way.
31
00:04:52.000 --> 00:04:58.000
They reach the end of the room and go through a hall into a small compartment.
32
00:05:02.000 --> 00:05:06.000
Proog presses a button, and the door shuts.
33
00:05:06.500 --> 00:05:09.000
It is an elevator.
34
00:05:09.500 --> 00:05:24.000
The elevator lurches suddenly as it is grabbed by a giant mechanical arm and thrown upwards, rushing up through an ever-widening tunnel.
35
00:05:26.500 --> 00:05:32.000
When it begins to slow down, another arm grabs the capsule and throws it even further up.
36
00:05:32.500 --> 00:05:40.000
As it moves up, the walls unlock and fall away, leaving only the floor with the two on it, rushing higher and higher.
37
00:05:54.500 --> 00:05:59.000
They exit the tunnel into a black sky and the platform reaches the peak of its arc.
38
00:06:19.500 --> 00:06:26.000
The elevator begins to drop down another shaft, coming to rest as it slams into the floor of another room and bringing the two to a level stop.
39
00:06:26.500 --> 00:06:28.000
A camera flashes.
40
00:06:28.010 --> 00:06:34.000
They are in a large, dingy room filled with strange, generator-like devices and dotted with boxy holographic projectors.
41
00:06:34.500 --> 00:06:38.000
One of them is projecting a portion of wall with a door in it right beside them.
42
00:06:38.500 --> 00:06:40.000
The door seems harmless enough.
43
00:06:42.800 --> 00:06:45.100
From behind the door comes light music.
44
00:06:56.000 --> 00:07:00.100
Proog presses a button on his cane, which changes the holograph to another wall.
45
00:07:05.100 --> 00:07:11.000
Proog finishes the wall, and boxes them into a Safe Room, out of the view of anything outside.
46
00:07:39.000 --> 00:07:42.500
Proog slaps him, trying to bring him to his senses.
47
00:07:45.000 --> 00:07:52.000
Emo storms away down the length of the room towards a wall he apparently cannot see and the wall begins to move, extending the length of the room.
48
00:08:00.000 --> 00:08:07.000
The walls begin to discolour and mechanical roots start tearing through the walls to his left.
49
00:08:07.010 --> 00:08:09.000
The roots move forwards toward Proog.
50
00:08:22.000 --> 00:08:31.000
The rest of the safety wall crumples away as a pair of massive hands heave out of the ground and begin to attack.
51
00:08:31.010 --> 00:08:37.000
Proog is knocked down by the shockwave, while Emo turns and begins to walk away, waving his finger around his temple in the 'crazy' sign.
52
00:08:37.010 --> 00:08:44.000
In a last effort, Proog extricates himself from the tentacle roots, and cracks Emo over the back of the head with his cane.
53
00:08:44.500 --> 00:08:51.000
As Emo collapses, everything falls away, and Proog and Emo are left in one tiny patch of light in the middle of blackness.
54
00:09:00.000 --> 00:09:20.000
The scene fades to black while panning over a pile of tentacle roots lying on the ground.
55
00:09:26.000 --> 00:09:28.000
Credits begin:
56
00:09:28.500 --> 00:09:35.000
Orange Open Movie Team
Director: Bassum Kurdali
Art Director: Andreas Goralczyk
57
00:09:35.500 --> 00:09:39.000
Music and Sound Design: Jan Morgenstern
58
00:09:39.500 --> 00:09:44.000
Emo: Cas Jansen
Proog: Tygo Gernandt
59
00:09:44.500 --> 00:09:50.000
Screenplay: Pepijn Zwanenberg
Original Concept & Scenario: Andreas Goralczyk, Bassam Kurdali, Ton Roosendaal
60
00:09:50.500 --> 00:10:24.000
More people for
Additional Artwork and Animation
Texture Photography
Software Development
3D Modelling, Animation, Rendering, Compiling Software
Special Thanks to Open Source Projects
Rendering Services Provided
Hardware Sponsored
Casting
Sound FX, Foley, Dialogue Editing, Audio Mix and Post
Voice Recording
HDCam conversion
Netherlands Media Art Institute Staff
Blender Foundation Staff
61
00:10:24.500 --> 00:10:30.000
Many Thanks to our Donation and DVD sponsors
62
00:10:30.500 --> 00:10:47.000
Elephants Dream has been realised with financial support from
The Netherlands Film Fund
Mondriaan Foundation
VSBfonds
Uni-Verse / EU Sixth Framework Programme
63
00:10:47.500 --> 00:10:53.000
Produced By
Ton Roosendaal
Copyright 2006
Netherlands Media Art Institute / Montevideo
Blender Foundation
+46
Ver Arquivo
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Video.js Text Descriptions, Chapters &amp; Captions Example</title>
<link href="../../video-js.css" rel="stylesheet" type="text/css">
<script src="../../video.js"></script>
<!-- Set the location of the flash SWF -->
<script>
videojs.setGlobalOptions({
flash: {
swf: '../../video-js.swf'
}
});
</script>
</head>
<body>
<p style="background-color:#eee; border: 1px solid #777; padding: 10px; font-size: .8em; line-height: 1.5em; font-family: Verdana, sans-serif;">This page demonstrates a text descriptions track (intended primarily for blind and visually impaired consumers of visual media)</p>
<!-- NOTE: we have to disable native Text Track support for the HTML5 tech,
since even HTML5 video players with native Text Track support
don't currently support 'description' text tracks in any
useful way! -->
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="360"
data-setup='{ "html5" : { "nativeTextTracks" : false } }'>
<source src="https://archive.org/download/ElephantsDream/ed_hd.mp4" type="video/mp4">
<source src="https://archive.org/download/ElephantsDream/ed_hd.ogv" type="video/ogv">
<track kind="captions" src="captions.en.vtt" srclang="en" label="English" default></track><!-- Tracks need an ending tag thanks to IE9 -->
<track kind="captions" src="captions.sv.vtt" srclang="sv" label="Swedish"></track>
<track kind="captions" src="captions.ru.vtt" srclang="ru" label="Russian"></track>
<track kind="captions" src="captions.ja.vtt" srclang="ja" label="Japanese"></track>
<track kind="captions" src="captions.ar.vtt" srclang="ar" label="Arabic"></track>
<track kind="descriptions" src="descriptions.en.vtt" srclang="en" label="English"></track>
<track kind="chapters" src="chapters.en.vtt" srclang="en" label="English"></track>
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>
</body>
</html>
+27
Ver Arquivo
@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Video.js | HTML5 Video Player</title>
<link href="http://vjs.zencdn.net/5.0.2/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/ie8/1.1.0/videojs-ie8.min.js"></script>
<script src="http://vjs.zencdn.net/5.0.2/video.js"></script>
</head>
<body>
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="264" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}">
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
<source src="http://vjs.zencdn.net/v/oceans.webm" type="video/webm">
<source src="http://vjs.zencdn.net/v/oceans.ogv" type="video/ogg">
<track kind="captions" src="../shared/example-captions.vtt" srclang="en" label="English"></track>
<!-- Tracks need an ending tag thanks to IE9 -->
<track kind="subtitles" src="../shared/example-captions.vtt" srclang="en" label="English"></track>
<!-- Tracks need an ending tag thanks to IE9 -->
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>
</body>
</html>
+44
Ver Arquivo
@@ -0,0 +1,44 @@
API
===
The Video.js API allows you to interact with the video through JavaScript, whether the browser is playing the video through HTML5 video, Flash, or any other supported playback technologies.
Referencing the Player
----------------------
To use the API functions, you need access to the player object. Luckily this is easy to get. You just need to make sure your video tag has an ID. The example embed code has an ID of "example\_video_1". If you have multiple videos on one page, make sure every video tag has a unique ID.
```js
var myPlayer = videojs('example_video_1');
```
(If the player hasn't been initialized yet via the data-setup attribute or another method, this will also initialize the player.)
Wait Until the Player is Ready
------------------------------
The time it takes Video.js to set up the video and API will vary depending on the playback technology being used (HTML5 will often be much faster to load than Flash). For that reason we want to use the player's 'ready' function to trigger any code that requires the player's API.
```js
videojs("example_video_1").ready(function(){
var myPlayer = this;
// EXAMPLE: Start playing the video.
myPlayer.play();
});
```
API Methods
-----------
Now that you have access to a ready player, you can control the video, get values, or respond to video events. The Video.js API function names follow the [HTML5 media API](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html). The main difference is that getter/setter functions are used for video properties.
```js
// setting a property on a bare HTML5 video element
myVideoElement.currentTime = "120";
// setting a property on a Video.js player
myPlayer.currentTime(120);
```
The full list of player API methods and events can be found in the [player API docs](http://docs.videojs.com/docs/api/index.html).
+69
Ver Arquivo
@@ -0,0 +1,69 @@
# Audio Tracks
Audio Tracks are a function of HTML5 video for providing alternative audio track selections to the user, so that a track other than the main track can be played. Video.js makes audio tracks work across all browsers. There are currently five types of tracks:
- **Alternative**: alternative audio for the main video track
- **Descriptions**: descriptions of what is happening in the video track
- **Main**: the main audio track for this video
- **Translation**: a translation of the main audio track
- **Commentary**: commentary on the video, usually the director of the content talking about design choices
## Missing Funtionality
- It is currently impossible to add AudioTracks in a non-programtic way
- Literal switching of AudioTracks for playback is not handled by video.js and must be handled by something else. video.js only stores the track representation
## Adding to Video.js
> Right now adding audio tracks in the HTML is unsupported. Audio Tracks must be added programatically.
You must add audio tracks [programatically](#api) for the time being.
## Attributes
Audio Track propertites and settings
### kind
One of the five track types listed above. Kind defaults to empty string if no kind is included, or an invalid kind is used.
### label
The label for the track that will be show to the user, for example in a menu that list the different languages available for audio tracks.
### language
The two-letter code (valid BCP 47 language tag) for the language of the audio track, for example "en" for English. A list of language codes is [available here](languages.md#language-codes).
### enabled
If this track should be playing or not. In video.js we only allow one track to be enabled at a time. so if you enable more than one the last one to be enabled will end up being the only one.
## Interacting with Audio Tracks
### Doing something when a track becomes enabled
When a new track is enabled (other than the main track) an event is fired on the `AudioTrackList` called `change` you can listen to that event and do something with it.
Here's an example:
```js
// get the current players AudioTrackList object
let tracks = player.audioTracks();
// listen to the change event
tracks.addEventListener('change', function() {
// print the currently enabled AudioTrack label
for (let i = 0; i < tracks.length; i++) {
let track = tracks[i];
if (track.enabled) {
console.log(track.label);
return;
}
}
});
```
## API
### `player.audioTracks() -> AudioTrackList`
This is the main interface into the audio tracks of the player.
It returns an AudioTrackList which is an array like object that contains all the `AudioTrack` on the player.
### `player.audioTracks().addTrack(AudioTrack)`
Add an existing AudioTrack to the players internal list of AudioTracks.
### `player.audioTracks().removeTrack(AudioTrack)`
Remove a track from the AudioTrackList currently on the player. if no track exists this will do nothing.
+86
Ver Arquivo
@@ -0,0 +1,86 @@
Components
===
The Video.js player is built on top of a simple, custom UI components architecture. The player class and all control classes inherit from the `Component` class, or a subclass of `Component`.
```js
videojs.registerComponent('Control', videojs.extends(Component));
videojs.registerComponent('Button', videojs.extends(videojs.getComponent('Control')));
videojs.registerComponent('PlayToggle', videojs.extends(videojs.getComponent('Button')));
```
The UI component architecture makes it easier to add child components to a parent component and build up an entire user interface, like the controls for the Video.js player.
```js
// Adding a new control to the player
myPlayer.addChild('BigPlayButton');
```
Every component has an associated DOM element, and when you add a child component, it inserts the element of that child into the element of the parent.
```js
myPlayer.addChild('BigPlayButton');
```
Results in:
```html
<!-- Player Element -->
<div class="video-js">
<!-- BigPlayButton Element -->
<div class="vjs-big-play-button"></div>
</div>
```
The actual default component structure of the Video.js player looks something like this:
```
Player
PosterImage
TextTrackDisplay
LoadingSpinner
BigPlayButton
ControlBar
PlayToggle
VolumeMenuButton
CurrentTimeDisplay (Hidden by default)
TimeDivider (Hidden by default)
DurationDisplay (Hidden by default)
ProgressControl
SeekBar
LoadProgressBar
MouseTimeDisplay
PlayProgressBar
LiveDisplay (Hidden by default)
RemainingTimeDisplay
CustomControlsSpacer (No UI)
ChaptersButton (Hidden by default)
SubtitlesButton (Hidden by default)
CaptionsButton (Hidden by default)
FullscreenToggle
ErrorDisplay
TextTrackSettings
```
## Progress Control
The progress control is made up of the SeekBar. The seekbar contains the load progress bar
and the play progress bar. In addition, it contains the Mouse Time Display which
is used to display the time tooltip that follows the mouse cursor.
The play progress bar also has a time tooltip that show the current time.
By default, the progress control is sandwiched between the volume menu button and
the remaining time display inside the control bar, but in some cases, a skin would
want to move the progress control above the control bar and have it span the full
width of the player, in those cases, it is less than ideal to have the tooltips
get cut off or leave the bounds of the player. This can be prevented by setting the
`keepTooltipsInside` option on the progress control. This also makes the tooltips use
a real element instead of pseudo elements so targetting them with css will be different.
```js
let player = videojs('myplayer', {
controlBar: {
progressControl: {
keepTooltipsInside: true
}
}
});
```
+315
Ver Arquivo
@@ -0,0 +1,315 @@
Languages
=========
Multiple language support allows for users of non-English locales to natively interact with the displayed player. Video.js will compile multiple language files (see below) and instantiate with a global dictionary of language key/value support. Video.js player instances can be created with per-player language support that amends/overrides these default values. Player instances can also hard-set default languages to values other than English as of version 4.7.
Creating the Language File
--------------------------
Video.js uses key/value object dictionaries in JSON form.
An English lang file is at [/lang/en.json](https://github.com/videojs/video.js/tree/master/lang/en.json) which should be used as a template for new files. This will be kept up to date with strings in the core player that need localizations.
A sample dictionary for Spanish `['es']` would look as follows:
```JSON
{
"Play": "Reproducción",
"Pause": "Pausa",
"Current Time": "Tiempo reproducido",
"Duration Time": "Duración total",
"Remaining Time": "Tiempo restante",
"Stream Type": "Tipo de secuencia",
"LIVE": "DIRECTO",
"Loaded": "Cargado",
"Progress": "Progreso",
"Fullscreen": "Pantalla completa",
"Non-Fullscreen": "Pantalla no completa",
"Mute": "Silenciar",
"Unmute": "No silenciado",
"Playback Rate": "Velocidad de reproducción",
"Subtitles": "Subtítulos",
"subtitles off": "Subtítulos desactivados",
"Captions": "Subtítulos especiales",
"captions off": "Subtítulos especiales desactivados",
"Chapters": "Capítulos",
"Close Modal Dialog": "Cerca de diálogo modal",
"You aborted the video playback": "Ha interrumpido la reproducción del vídeo.",
"A network error caused the video download to fail part-way.": "Un error de red ha interrumpido la descarga del vídeo.",
"The video could not be loaded, either because the server or network failed or because the format is not supported.": "No se ha podido cargar el vídeo debido a un fallo de red o del servidor o porque el formato es incompatible.",
"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.": "La reproducción de vídeo se ha interrumpido por un problema de corrupción de datos o porque el vídeo precisa funciones que su navegador no ofrece.",
"No compatible source was found for this video.": "No se ha encontrado ninguna fuente compatible con este vídeo."
}
```
Notes:
- The file name should always be in the format `XX.json`, where `XX` is the language code. This should be a two letter code (for options see the bottom of this document) except for cases where a more specific code with sub-code is appropriate, e.g. `zh-CN.lang`.
- For automatic inclusion at build time, add your language file to the `/lang` directory (see 'Adding Languages to Video.js below').
Adding Languages to Video.js
----------------------------
Additional language support can be added to Video.js in multiple ways.
1. Create language scripts out of your JSON objects by using our custom grunt task `vjslanguages`. This task is automatically run as part of the default grunt task in Video.JS, but can be configured to match your `src`/`dist` directories if different. Once these scripts are created, just add them to your DOM like any other script.
NOTE: These need to be added after the core Video.js script.
2. Add your JSON objects via the videojs.addLanguage API. Preferably in the HEAD element of your DOM or otherwise prior to player instantiation.
```html
<head>
<script>
videojs.options.flash.swf = '../node_modules/videojs-swf/dist/video-js.swf';
videojs.addLanguage('es', {
"Play": "Reproducción",
"Pause": "Pausa",
"Current Time": "Tiempo reproducido",
"Duration Time": "Duración total",
"Remaining Time": "Tiempo restante",
"Stream Type": "Tipo de secuencia",
"LIVE": "DIRECTO",
"Loaded": "Cargado",
"Progress": "Progreso",
"Fullscreen": "Pantalla completa",
"Non-Fullscreen": "Pantalla no completa",
"Mute": "Silenciar",
"Unmute": "No silenciado",
"Playback Rate": "Velocidad de reproducción",
"Subtitles": "Subtítulos",
"subtitles off": "Subtítulos desactivados",
"Captions": "Subtítulos especiales",
"captions off": "Subtítulos especiales desactivados",
"Chapters": "Capítulos",
"Close Modal Dialog": "Cerca de diálogo modal",
"You aborted the video playback": "Ha interrumpido la reproducción del vídeo.",
"A network error caused the video download to fail part-way.": "Un error de red ha interrumpido la descarga del vídeo.",
"The video could not be loaded, either because the server or network failed or because the format is not supported.": "No se ha podido cargar el vídeo debido a un fallo de red o del servidor o porque el formato es incompatible.",
"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.": "La reproducción de vídeo se ha interrumpido por un problema de corrupción de datos o porque el vídeo precisa funciones que su navegador no ofrece.",
"No compatible source was found for this video.": "No se ha encontrado ninguna fuente compatible con este vídeo."
});
</script>
</head>
```
3. During a Video.js player instantiation. Adding the languages to the configuration object provided in the `data-setup` attribute.
```html
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
data-setup='{"languages":{"es":{"Play":"Juego"}}}'>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
<track kind="captions" src="http://example.com/path/to/captions.vtt" srclang="en" label="English" default>
</video>
```
Notes:
- This will add your language key/values to the Video.js player instances individually. If these values already exist in the global dictionary via the process above, those will be overridden for the player instance in question.
Setting Default Language in a Video.js Player
---------------------------------------------
During a Video.js player instantiation you can force it to localize to a specific language by including the locale value into the configuration object via the `data-setup` attribute. Valid options listed at the bottom of the page for reference.
```html
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
data-setup='{"language":"es"}'>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
<track kind="captions" src="http://example.com/path/to/captions.vtt" srclang="en" label="English" default>
</video>
```
Determining Player Language
---------------------------
The player language is set to one of the following in descending priority:
* The language specified in setup options as above
* The language specified by the closet element with a `lang` attribute. This could be the player itself or a parent element. Usually the document language is specified on the `html` tag.
* Browser language preference (the first language if more than one is configured)
* 'en'
The player language can be change after instantiation with `language('fr')`. However localizable text will not be modified by doing this, for best results set the language beforehand.
Language selection
------------------
* Language codes are considered case-insensitively (`en-US` == `en-us`).
* If there is no match for a language code with a subcode (`en-us`), a match for the primary code (`en`) is used if available.
Localization in Plugins
-----------------------
When you're developing a plugin, you can also introduce new localized strings. Simply wrap the string with the player's `localize` function:
```js
var details = '<div class="vjs-errors-details">' + player.localize('Technical details') + '</div>';
```
Language Codes
--------------
The following is a list of official language codes.
**NOTE:** For supported language translations, please see the [Languages Folder (/lang)](https://github.com/videojs/video.js/tree/master/lang) folder located in the project root.
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<table>
<tr><th>ab<th><td>Abkhazian</td></tr>
<tr><th>aa<th><td>Afar</td></tr>
<tr><th>af<th><td>Afrikaans</td></tr>
<tr><th>sq<th><td>Albanian</td></tr>
<tr><th>am<th><td>Amharic</td></tr>
<tr><th>ar<th><td>Arabic</td></tr>
<tr><th>an<th><td>Aragonese</td></tr>
<tr><th>hy<th><td>Armenian</td></tr>
<tr><th>as<th><td>Assamese</td></tr>
<tr><th>ay<th><td>Aymara</td></tr>
<tr><th>az<th><td>Azerbaijani</td></tr>
<tr><th>ba<th><td>Bashkir</td></tr>
<tr><th>eu<th><td>Basque</td></tr>
<tr><th>bn<th><td>Bengali (Bangla)</td></tr>
<tr><th>dz<th><td>Bhutani</td></tr>
<tr><th>bh<th><td>Bihari</td></tr>
<tr><th>bi<th><td>Bislama</td></tr>
<tr><th>br<th><td>Breton</td></tr>
<tr><th>bg<th><td>Bulgarian</td></tr>
<tr><th>my<th><td>Burmese</td></tr>
<tr><th>be<th><td>Byelorussian (Belarusian)</td></tr>
<tr><th>km<th><td>Cambodian</td></tr>
<tr><th>ca<th><td>Catalan</td></tr>
<tr><th>zh<th><td>Chinese (Simplified)</td></tr>
<tr><th>zh<th><td>Chinese (Traditional)</td></tr>
<tr><th>co<th><td>Corsican</td></tr>
<tr><th>hr<th><td>Croatian</td></tr>
<tr><th>cs<th><td>Czech</td></tr>
<tr><th>da<th><td>Danish</td></tr>
<tr><th>nl<th><td>Dutch</td></tr>
<tr><th>en<th><td>English</td></tr>
<tr><th>eo<th><td>Esperanto</td></tr>
<tr><th>et<th><td>Estonian</td></tr>
<tr><th>fo<th><td>Faeroese</td></tr>
<tr><th>fa<th><td>Farsi</td></tr>
<tr><th>fj<th><td>Fiji</td></tr>
<tr><th>fi<th><td>Finnish</td></tr>
<tr><th>fr<th><td>French</td></tr>
<tr><th>fy<th><td>Frisian</td></tr>
<tr><th>gl<th><td>Galician</td></tr>
<tr><th>gd<th><td>Gaelic (Scottish)</td></tr>
<tr><th>gv<th><td>Gaelic (Manx)</td></tr>
<tr><th>ka<th><td>Georgian</td></tr>
<tr><th>de<th><td>German</td></tr>
<tr><th>el<th><td>Greek</td></tr>
<tr><th>kl<th><td>Greenlandic</td></tr>
<tr><th>gn<th><td>Guarani</td></tr>
<tr><th>gu<th><td>Gujarati</td></tr>
<tr><th>ht<th><td>Haitian Creole</td></tr>
<tr><th>ha<th><td>Hausa</td></tr>
<tr><th>he<th><td>Hebrew</td></tr>
<tr><th>hi<th><td>Hindi</td></tr>
<tr><th>hu<th><td>Hungarian</td></tr>
<tr><th>is<th><td>Icelandic</td></tr>
<tr><th>io<th><td>Ido</td></tr>
<tr><th>id<th><td>Indonesian</td></tr>
<tr><th>ia<th><td>Interlingua</td></tr>
<tr><th>ie<th><td>Interlingue</td></tr>
<tr><th>iu<th><td>Inuktitut</td></tr>
<tr><th>ik<th><td>Inupiak</td></tr>
<tr><th>ga<th><td>Irish</td></tr>
<tr><th>it<th><td>Italian</td></tr>
<tr><th>ja<th><td>Japanese</td></tr>
<tr><th>jv<th><td>Javanese</td></tr>
<tr><th>kn<th><td>Kannada</td></tr>
<tr><th>ks<th><td>Kashmiri</td></tr>
<tr><th>kk<th><td>Kazakh</td></tr>
<tr><th>rw<th><td>Kinyarwanda (Ruanda)</td></tr>
<tr><th>ky<th><td>Kirghiz</td></tr>
<tr><th>rn<th><td>Kirundi (Rundi)</td></tr>
<tr><th>ko<th><td>Korean</td></tr>
<tr><th>ku<th><td>Kurdish</td></tr>
<tr><th>lo<th><td>Laothian</td></tr>
<tr><th>la<th><td>Latin</td></tr>
<tr><th>lv<th><td>Latvian (Lettish)</td></tr>
<tr><th>li<th><td>Limburgish ( Limburger)</td></tr>
<tr><th>ln<th><td>Lingala</td></tr>
<tr><th>lt<th><td>Lithuanian</td></tr>
<tr><th>mk<th><td>Macedonian</td></tr>
<tr><th>mg<th><td>Malagasy</td></tr>
<tr><th>ms<th><td>Malay</td></tr>
<tr><th>ml<th><td>Malayalam</td></tr>
<tr><th>mt<th><td>Maltese</td></tr>
<tr><th>mi<th><td>Maori</td></tr>
<tr><th>mr<th><td>Marathi</td></tr>
<tr><th>mo<th><td>Moldavian</td></tr>
<tr><th>mn<th><td>Mongolian</td></tr>
<tr><th>na<th><td>Nauru</td></tr>
<tr><th>ne<th><td>Nepali</td></tr>
<tr><th>no<th><td>Norwegian</td></tr>
<tr><th>oc<th><td>Occitan</td></tr>
<tr><th>or<th><td>Oriya</td></tr>
<tr><th>om<th><td>Oromo (Afan, Galla)</td></tr>
<tr><th>ps<th><td>Pashto (Pushto)</td></tr>
<tr><th>pl<th><td>Polish</td></tr>
<tr><th>pt<th><td>Portuguese</td></tr>
<tr><th>pa<th><td>Punjabi</td></tr>
<tr><th>qu<th><td>Quechua</td></tr>
<tr><th>rm<th><td>Rhaeto-Romance</td></tr>
<tr><th>ro<th><td>Romanian</td></tr>
<tr><th>ru<th><td>Russian</td></tr>
<tr><th>sm<th><td>Samoan</td></tr>
<tr><th>sg<th><td>Sangro</td></tr>
<tr><th>sa<th><td>Sanskrit</td></tr>
<tr><th>sr<th><td>Serbian</td></tr>
<tr><th>sh<th><td>Serbo-Croatian</td></tr>
<tr><th>st<th><td>Sesotho</td></tr>
<tr><th>tn<th><td>Setswana</td></tr>
<tr><th>sn<th><td>Shona</td></tr>
<tr><th>ii<th><td>Sichuan Yi</td></tr>
<tr><th>sd<th><td>Sindhi</td></tr>
<tr><th>si<th><td>Sinhalese</td></tr>
<tr><th>ss<th><td>Siswati</td></tr>
<tr><th>sk<th><td>Slovak</td></tr>
<tr><th>sl<th><td>Slovenian</td></tr>
<tr><th>so<th><td>Somali</td></tr>
<tr><th>es<th><td>Spanish</td></tr>
<tr><th>su<th><td>Sundanese</td></tr>
<tr><th>sw<th><td>Swahili (Kiswahili)</td></tr>
<tr><th>sv<th><td>Swedish</td></tr>
<tr><th>tl<th><td>Tagalog</td></tr>
<tr><th>tg<th><td>Tajik</td></tr>
<tr><th>ta<th><td>Tamil</td></tr>
<tr><th>tt<th><td>Tatar</td></tr>
<tr><th>te<th><td>Telugu</td></tr>
<tr><th>th<th><td>Thai</td></tr>
<tr><th>bo<th><td>Tibetan</td></tr>
<tr><th>ti<th><td>Tigrinya</td></tr>
<tr><th>to<th><td>Tonga</td></tr>
<tr><th>ts<th><td>Tsonga</td></tr>
<tr><th>tr<th><td>Turkish</td></tr>
<tr><th>tk<th><td>Turkmen</td></tr>
<tr><th>tw<th><td>Twi</td></tr>
<tr><th>ug<th><td>Uighur</td></tr>
<tr><th>uk<th><td>Ukrainian</td></tr>
<tr><th>ur<th><td>Urdu</td></tr>
<tr><th>uz<th><td>Uzbek</td></tr>
<tr><th>vi<th><td>Vietnamese</td></tr>
<tr><th>vo<th><td>Volapük</td></tr>
<tr><th>wa<th><td>Wallon</td></tr>
<tr><th>cy<th><td>Welsh</td></tr>
<tr><th>wo<th><td>Wolof</td></tr>
<tr><th>xh<th><td>Xhosa</td></tr>
<tr><th>yi<th><td>Yiddish</td></tr>
<tr><th>yo<th><td>Yoruba</td></tr>
<tr><th>zu<th><td>Zulu</td></tr>
</table>
</tr>
</table>
+26 -2
Ver Arquivo
@@ -88,11 +88,11 @@ or
### loop ###
The loop attribute causes the video to start over as soon as it ends. This could be used for a visual affect like clouds in the background.
The loop attribute causes the video to start over as soon as it ends. This could be used for a visual effect like clouds in the background.
```html
<video loop ...>
or
{ "loop": "true" }
{ "loop": true }
```
@@ -112,3 +112,27 @@ The height attribute sets the display height of the video.
or
{ "height": 480 }
```
Component Options
-----------------
You can set the options for any single player component. For instance, if you wanted to remove the `muteToggle` button, which
is a child of `controlBar`, you can just set that component to false:
```js
var player = videojs('video-id', {
controlBar: {
muteToggle: false
}
});
```
This also works using the `data-setup` attribute on the video element, just remember the options need to use proper JSON
notation.
```html
<video ... data-setup='{ "controlBar": { "muteToggle": false } }'></video>
```
The [components guide](./components.md) has an excellent breakdown of the structure of a player, you
just need to remember to nest child components in a `children` array for each level.
+23 -5
Ver Arquivo
@@ -1,24 +1,33 @@
Plugins
=======
If you've built something cool with Video.js, you can easily share it with the rest of the world by creating a plugin.
If you've built something cool with Video.js, you can easily share it with the rest of the world by creating a plugin. Although, you can roll your own, you can also use [generator-videojs-plugin](https://github.com/dmlap/generator-videojs-plugin), a [Yeoman](http://yeoman.io) generator that provides scaffolding for video.js plugins including:
* [Grunt](http://gruntjs.com) for build management
* [npm](https://www.npmjs.org) for dependency management
* [QUnit](http://qunitjs.com) for testing
Step 1: Write Some Javascript
-----------------------------
You may have already done this step. Code up something interesting and then wrap it in a function. At the most basic level, that's all a video.js plugin is. By convention, plugins take a hash of options as their first argument:
```js
function examplePlugin(options) {
this.on('play', function(e) {
console.log('playback has started!');
});
};
```
When it's activated, `this` will be the Video.js player your plugin is attached to. You can use anything you'd like in the [Video.js API](api.md) when you're writing a plugin: change the `src`, mess up the DOM, or listen for and emit your own events.
When it's activated, `this` will be the Video.js player your plugin is attached to. You can use anything you'd like in the [Video.js API](./api.md) when you're writing a plugin: change the `src`, mess up the DOM, or listen for and emit your own events.
Step 2: Registering A Plugin
-------------------------------
It's time to give the rest of the world the opportunity to be awed by your genius. When your plugin is loaded, it needs to let Video.js know this amazing new functionality is now available:
vjs.plugin('examplePlugin', examplePlugin);
```js
videojs.plugin('examplePlugin', examplePlugin);
```
From this point on, your plugin will be added to the Video.js prototype and will show up as a property on every instance created. Make sure you choose a unique name that doesn't clash with any of the properties already in Video.js. Which leads us to...
@@ -26,16 +35,25 @@ Step 3: Using A Plugin
----------------------
There are two ways to initialize a plugin. If you're creating your video tag dynamically, you can specify the plugins you'd like to initialize with it and any options you want to pass to them:
vjs('vidId', {
```js
videojs('vidId', {
plugins: {
examplePlugin: {
exampleOption: true
}
}
});
```
If you've already initialized your video tag, you can activate a plugin at any time by calling its setup function directly:
```js
var video = videojs('cool-vid');
video.examplePlugin({ exampleOption: true });
```
That's it. Head on over to the Video.js wiki and add your plugin to the list so everyone else can check it out.
That's it. Head on over to the [Video.js wiki](https://github.com/videojs/video.js/wiki/Plugins) and add your plugin to the list so everyone else can check it out.
## How should I use the Video.js icons in my plugin?
If you'd like to use any of the icons available in the [Video.js icon set](http://videojs.github.io/font/), please target them via the CSS class names instead of codepoints. The codepoints *may* change between versions of the font, so using the class names ensures that your plugin will stay up to date with any font changes.
+41
Ver Arquivo
@@ -0,0 +1,41 @@
Removing Players
================
Sometimes, you want to remove players after page load (in single page apps or modals, for instance). It's easy to manage, but there are some simple rules you need to follow.
Call `.dispose()`
-----------------
To remove the html associated with your videojs player from the page always call the player's [`dispose()`](http://docs.videojs.com/docs/api/player.html#Methodsdispose) method:
```js
var oldPlayer = document.getElementById('my-player');
videojs(oldPlayer).dispose();
```
This method will:
1. reset the internal state of videojs
2. remove the player's dom from the page
Showing / Hiding a Player
-------------------------
For instance, if you have a modal that a player appears in, you should create the player when the modal pops up. When the modal hides, dispose the player. If you try to hide the Flash tech, things will go poorly. Even with other tech, calling `dispose()` on a player that's not needed will free up resources for the browser.
Why Is This Needed?
-------------------
VideoJS internally tracks all players and their associated data by html id attribute. If you plan to create new players with the same id as previously created players, you'll need to call the player's dispose() method to clear VideoJS's internal state before creating the new player.
Signs You Did It Wrong
-------------------------
```
TypeError: this.el_.vjs_getProperty is not a function
"VIDEOJS:" "Video.js: buffered unavailable on Hls playback technology element." TypeError: this.el_.vjs_getProperty is not a function
Stack trace:
...
```
If you encounter a console error in the browser similar to the above, you've probably forgotten to `dispose()` a player before removing it from the dom. This would happen when using the [contrib-hls](https://github.com/videojs/videojs-contrib-hls) plugin.
+124
Ver Arquivo
@@ -0,0 +1,124 @@
Setup
=====
Video.js is pretty easy to set up. It can take a matter of seconds to get the player up and working on your web page.
Step 1: Include the Video.js Javascript and CSS files in the head of your page.
------------------------------------------------------------------------------
You can download the Video.js source and host it on your own servers, or use the free CDN hosted version. As of Video.js 5.0, the source is [transpiled from ES2015](http://babeljs.io/) (formerly known as ES6) to [ES5](https://es5.github.io/), but IE8 only supports ES3. In order to continue to support IE8, we've bundled an [ES5 shim and sham](https://github.com/es-shims/es5-shim) together and hosted it on the CDN.
```html
<script src="//vjs.zencdn.net/ie8/1.1.1/videojs-ie8.min.js"></script>
```
### CDN Version ###
```html
<link href="//vjs.zencdn.net/5.4.6/video-js.min.css" rel="stylesheet">
<script src="//vjs.zencdn.net/5.4.6/video.min.js"></script>
```
Alternatively you can always [go here](http://videojs.com/getting-started/) to get the latest URL for videojs CDN.
We include a stripped down Google Analytics pixel that tracks a random percentage (currently 1%) of players loaded from the CDN. This allows us to see (roughly) what browsers are in use in the wild, along with other useful metrics such as OS and device. If you'd like to disable analytics, you can simply include the following global **before** including Video.js:
```js
window.HELP_IMPROVE_VIDEOJS = false;
```
## Install via package manager
### NPM
```
$ npm install --save video.js
```
### Bower
```
$ bower install --save video.js
```
### Self Hosted. ###
To entirely self-host, you'll need to pull in the font files and let Video.js know where the swf is located. If you simply copy the dist folder or zip file contents into your project everything
should Just Work™, but the paths can easily be changed by editing the LESS file and re-building, or by modifying the generated CSS file. Additionally include the [videojs-vtt.js](https://www.npmjs.com/package/videojs-vtt.js) source, which adds the `WebVTT` object to the global scope.
```html
<link href="//example.com/path/to/video-js.min.css" rel="stylesheet">
<script src="//example.com/path/to/videojs-vtt.js"></script>
<script src="//example.com/path/to/video.min.js"></script>
<script>
videojs.options.flash.swf = "http://example.com/path/to/video-js.swf"
</script>
```
Step 2: Add an HTML5 video tag to your page.
--------------------------------------------
With Video.js you just use an HTML5 video tag to embed a video. Video.js will then read the tag and make it work in all browsers, not just ones that support HTML5 video. Beyond the basic markup, Video.js needs a few extra pieces.
> Note: The `data-setup` attribute described here should not be used if you use the alternative setup described in the next section.
1. The 'data-setup' Attribute tells Video.js to automatically set up the video when the page is ready, and read any options (in JSON format) from the attribute (see [options](./options.md)). There are other methods for initializing the player, but this is the easiest.
2. The 'id' Attribute: Should be used and unique for every video on the same page.
3. The 'class' attribute contains two classes:
- `video-js` applies styles that are required for Video.js functionality, like fullscreen and subtitles.
- `vjs-default-skin` applies the default skin to the HTML controls, and can be removed or overridden to create your own controls design.
Otherwise include/exclude attributes, settings, sources, and tracks exactly as you would for HTML5 video.*
```html
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{"example_option":true}'>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type="video/mp4" />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type="video/webm" />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type="video/ogg" />
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>
```
By default, the big play button is located in the upper left hand corner so it doesn't cover up the interesting parts of the poster. If you'd prefer to center the big play button, you can add an additional `vjs-big-play-centered` class to your video element. For example:
```html
<video id="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered"
controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{"example_option":true}'>
...
</video>
```
Alternative Setup for Dynamically Loaded HTML
---------------------------------------------
If your web page or application loads the video tag dynamically (ajax, appendChild, etc.), so that it may not exist when the page loads, you'll want to manually set up the player instead of relying on the data-setup attribute. To do this, first remove the data-setup attribute from the tag so there's no confusion around when the player is initialized. Next, run the following javascript some time after the Video.js javascript library has loaded, and after the video tag has been loaded into the DOM.
```js
videojs("example_video_1", {}, function(){
// Player (this) is initialized and ready.
});
```
The first argument in the `videojs` function is the ID of your video tag. Replace it with your own.
The second argument is an options object. It allows you to set additional options like you can with the data-setup attribute.
The third argument is a 'ready' callback. Once Video.js has initialized it will call this function.
Instead of using an element ID, you can also pass a reference to the element itself.
```js
videojs(document.getElementById('example_video_1'), {}, function() {
// This is functionally the same as the previous example.
});
```
```js
videojs(document.getElementsByClassName('awesome_video_class')[0], {}, function() {
// You can grab an element by class if you'd like, just make sure
// if it's an array that you pick one (here we chose the first).
});
```
\* If you have trouble playing back content you know is in the [correct format](http://blog.zencoder.com/2013/09/13/what-formats-do-i-need-for-html5-video/), your HTTP server might not be delivering the content with the correct [MIME type](http://en.wikipedia.org/wiki/Internet_media_type#Type_video). Please double check your content's headers before opening an [issue](https://github.com/videojs/video.js/blob/master/CONTRIBUTING.md).
+54
Ver Arquivo
@@ -0,0 +1,54 @@
Skins
=====
## Base Skin
The base Video.js skin is made using HTML and CSS (although we use the [Sass preprocessor](http://sass-lang.com)),
and by default these styles are added to the DOM for you!
That means you can build a custom skin by simply taking advantage of the cascading aspect of CSS and overriding
the styles you'd like to change.
If you don't want Video.js to inject the base styles for you, you can disable it by setting `window.VIDEOJS_NO_BASE_THEME = true` before Video.js is loaded.
Keep in mind that without these base styles enabled, you'll need to manually include them.
Video.js does not currently include the base skin automatically yet, so, this option isn't necessary.
## Default style elements
Video.js uses a couple of style elements dynamically, specifically, there's a default styles element as well as a player dimensions style element.
They are used to provide extra default flexiblity with styling the player. However, in some cases, like if a user has the HEAD tag managed by React, users do not want this.
When `window.VIDEOJS_NO_DYNAMIC_STYLE` is set to `true`, video.js will *not* include these element in the page.
This means that default dimensions and configured player dimensions will *not* be applied.
For example, the following player will end up having a width and height of 0 when initialized if `window.VIDEOJS_NO_DYNAMIC_STYLE === true`:
```html
<video width="600" height="300"></video>
```
### `Player#width` and `Player#height`
When `VIDEOJS_NO_DYNAMIC_STYLE` is set, `Player#width` and `Player#height` will apply any width and height
that is set directly to the video element (or whatever element the current tech uses).
## Icons
You can view all of the icons available in the base theme by renaming and viewing
[`icons.html.example`](https://github.com/videojs/video.js/blob/master/sandbox/icons.html.example) in the sandbox directory.
## Customization
When you create a new skin, the easiest way to get started is to simply override the base Video.js theme.
You should include a new class matching the name of your theme, then just start overriding!
```css
.vjs-skin-hotdog-stand { color: #FF0000; }
.vjs-skin-hotdog-stand .vjs-control-bar { background: #FFFF00; }
.vjs-skin-hotdog-stand .vjs-play-progress { background: #FF0000; }
```
This would take care of the major areas of the skin (play progress, the control bar background, and icon colors),
but you can skin any other aspect.
Our suggestion is to use a browser such as Firefox and Chrome,
and use the developer tools to inspect the different elements and see what you'd like to change and what classes
to target when you do so.
More custom skins will be available for download soon.
If you have one you like you can share it by forking [this example on CodePen.io](http://codepen.io/heff/pen/EarCt),
and adding a link on the [Skins wiki page](https://github.com/videojs/video.js/wiki/Skins).
+102
Ver Arquivo
@@ -0,0 +1,102 @@
Playback Technology ("Tech")
============================
Playback Technology refers to the specific browser or plugin technology used to play the video or audio. When using HTML5, the playback technology is the video or audio element. When using Flash, the playback technology is the specific Flash player used, e.g. Flowplayer, YouTube Player, video-js.swf, etc. (not just "Flash"). This could also include Silverlight, Quicktime, or any other plugin that will play back video in the browser, as long as there is an API wrapper written for it.
Essentially we're using HTML5 and plugins only as video decoders, and using HTML and JavaScript to create a consistent API and skinning experience across all of them.
Building an API Wrapper
-----------------------
We'll write a more complete guide on writing a wrapper soon, but for now the best resource is the [Video.js](https://github.com/zencoder/video-js/tree/master/src) source where you can see how both the HTML5 and video-js.swf API wrappers were created.
Required Methods
----------------
canPlayType
play
pause
currentTime
volume
duration
buffered
supportsFullScreen
Required Events
---------------
loadstart
play
pause
playing
ended
volumechange
durationchange
error
Optional Events (include if supported)
--------------------------------------
timeupdate
progress
enterFullScreen
exitFullScreen
Adding Playback Technology
==================
When adding additional Tech to a video player, make sure to add the supported tech to the video object.
### Tag Method: ###
<video data-setup='{"techOrder": ["html5", "flash", "other supported tech"]}'
### Object Method: ###
videojs("videoID", {
techOrder: ["html5", "flash", "other supported tech"]
});
Technology Ordering
==================
By default Video.js performs "Tech-first" ordering when it searches for a source/tech combination to play videos. This means that if you have two sources and two techs, video.js will try to play each video with the first tech in the `techOrder` option property before moving on to try the next playback technology.
Tech-first ordering can present a problem if you have a `sourceHandler` that supports both `Html5` and `Flash` techs such as videojs-contrib-hls.
For example, given the following video element:
<video data-setup='{"techOrder": ["html5", "flash"]}'>
<source src="http://your.static.provider.net/path/to/video.m3u8" type="application/x-mpegURL">
<source src="http://your.static.provider.net/path/to/video.mp4" type="video/mp4">
</video>
There is a good chance that the mp4 source will be selected on platforms that do not have media source extensions. Video.js will try all sources against the first playback technology, in this case `Html5`, and select the first source that can play - in this case MP4.
In "Tech-first" mode, the tests run something like this:
Can video.m3u8 play with Html5? No...
Can video.mp4 play with Html5? Yes! Use the second source.
Video.js now provides another method of selecting the source - "Source-first" ordering. In this mode, Video.js tries the first source against every tech in `techOrder` before moving onto the next source.
With a player setup as follows:
<video data-setup='{"techOrder": ["html5", "flash"], "sourceOrder": true}'>
<source src="http://your.static.provider.net/path/to/video.m3u8" type="application/x-mpegURL">
<source src="http://your.static.provider.net/path/to/video.mp4" type="video/mp4">
</video>
The Flash-based HLS support will be tried before falling back to the MP4 source.
In "Source-first" mode, the tests run something like this:
Can video.m3u8 play with Html5? No...
Can video.m3u8 play with Flash? Yes! Use the first source.
Flash Technology
==================
The Flash playback tech is a part of the default `techOrder`. You may notice undesirable playback behavior in browsers that are subject to using this playback tech, in particular when scrubbing and seeking within a video. This behavior is a result of Flash's progressive video playback.
Enabling Streaming Playback
--------------------------------
In order to force the Flash tech to choose streaming playback, you need to provide a valid streaming source **before other valid Flash video sources**. This is necessary because of the source selection algorithm, where playback tech chooses the first possible source object with a valid type. Valid streaming `type` values include `rtmp/mp4` and `rtmp/flv`. The streaming `src` value requires valid connection and stream strings, separated by an `&`. An example of supplying a streaming source through your HTML markup might look like:
<source src="rtmp://your.streaming.provider.net/cfx/st/&mp4:path/to/video.mp4" type="rtmp/mp4">
<source src="http://your.static.provider.net/path/to/video.mp4" type="video/mp4">
<source src="http://your.static.provider.net/path/to/video.webm" type="video/webm">
You may optionally use the last `/` as the separator between connection and stream strings, for example:
<source src="rtmp://your.streaming.provider.net/cfx/st/mp4:video.mp4" type="rtmp/mp4">
All four RTMP protocols are valid in the `src` (RTMP, RTMPT, RTMPE, and RTMPS).
+184
Ver Arquivo
@@ -0,0 +1,184 @@
# Text Tracks
Text Tracks are a function of HTML5 video for providing time triggered text to the viewer. Video.js makes tracks work across all browsers. There are currently five types of tracks:
- **Subtitles**: Translations of the dialogue in the video for when audio is available but not understood. Subtitles are shown over the video.
- **Captions**: Transcription of the dialogue, sound effects, musical cues, and other audio information for when the viewer is deaf/hard of hearing, or the video is muted. Captions are also shown over the video.
- **Chapters**: Chapter titles that are used to create navigation within the video. Typically they're in the form of a list of chapters that the viewer can click on to go to a specific chapter.
- **Descriptions**: Text descriptions of what's happening in the video for when the video portion isn't available, because the viewer is blind, not using a screen, or driving and about to crash because they're trying to enjoy a video while driving. Descriptions are read by a screen reader or turned into a separate audio track.
- **Metadata**: Tracks that have data meant for javascript to parse and do something with. These aren't shown to the user.
## Creating the Text File
Timed text requires a text file in [WebVTT](http://dev.w3.org/html5/webvtt/) format. This format defines a list of "cues" that have a start time, and end time, and text to display. [Microsoft has a builder](https://dev.modern.ie/testdrive/demos/captionmaker/) that can help you get started on the file.
When creating captions, there's also additional [caption formatting techniques] (http://www.theneitherworld.com/mcpoodle/SCC_TOOLS/DOCS/SCC_FORMAT.HTML#style) that would be good to use, like brackets around sound effects: [ sound effect ]. If you'd like a more in depth style guide for captioning, you can reference the [Captioning Key](http://www.dcmp.org/captioningkey/), but keep in mind not all features are supported by WebVTT or (more likely) the Video.js WebVTT implementation.
## Adding to Video.js
Once you have your WebVTT file created, you can add it to Video.js using the track tag. Put your track tag after all the source elements, and before any fallback content.
```html
<video id="example_video_1" class="video-js"
controls preload="auto" width="640" height="264"
data-setup='{"example_option":true}'>
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4" />
<source src="http://vjs.zencdn.net/v/oceans.webm" type="video/webm" />
<source src="http://vjs.zencdn.net/v/oceans.ogv" type="video/ogg" />
<track kind="captions" src="http://example.com/path/to/captions.vtt" srclang="en" label="English" default>
</video>
```
You can also add tracks [programatically](#api).
## Subtitles from Another Domain
Because we're pulling in the text track file via Javascript, the [same-origin policy](http://en.wikipedia.org/wiki/Same_origin_policy) applies. If you'd like to have a player served from one domain,
but the text track served from another, you'll need to [enable CORS](http://enable-cors.org/) in order to do so.
In addition to enabling CORS on the server serving the text tracks, you will need to add the [`crossorigin` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) to the video element itself. This attribute has two values `anonymous` and `use-credentials`. Most users will want to use `anonymous` with cross-origin tracks.
It can be added to the video element like so:
```html
<video class="video-js" crossorigin="anonymous">
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
<track src="http://example.com/oceans.vtt" kind="captions" srclang="en" label="English">
</video>
```
One thing to be aware of is that in this case the video files themselves will *also* needs CORS headers applied to it. This is because some browsers apply the crossorigin attribute to the video source itself and not just the tracks and is considered a [security concern by the spec](https://html.spec.whatwg.org/multipage/embedded-content.html#security-and-privacy-considerations).
## Track Attributes
Additional settings for track tags.
### kind
One of the five track types listed above. Kind defaults to subtitles if no kind is included.
### label
The label for the track that will be show to the user, for example in a menu that list the different languages available for subtitles.
### default
The default attribute can be used to have a track default to showing. Otherwise the viewer would need to select their language from the captions or subtitles menu.
NOTE: For chapters, default is required if you want the chapters menu to show.
### srclang
The two-letter code (valid BCP 47 language tag) for the language of the text track, for example "en" for English. A list of language codes is [available here](languages.md#language-codes).
## Interacting with Text Tracks
### Showing tracks programmatically
Some of you would want to turn captions on and off programmatically rather than just forcing the user to do so themselves. This can be easily achieved by modifying the `mode` of the text tracks.
The `mode` can be one of three values `disabled`, `hidden`, and `showing`.
When a text track's `mode` is `disabled`, the track does not show on screen as the video is playing.
When the `mode` is set to `showing`, the track is visible to the viewer and updates while the video is playing.
You can change of a particular track like so:
```js
let tracks = player.textTracks();
for (let i = 0; i < tracks.length; i++) {
let track = tracks[i];
// find the captions track that's in english
if (track.kind === 'captions' && track.language === 'en') {
track.mode = 'showing';
}
}
```
### Doing something when a cue becomes active
Above, we mentioned that `mode` can also be `hidden`, what this means is that the track will update
as the video is playing but it won't be visible to the viewer. This is most useful for `metadata` text tracks.
One usecase for metadata text tracks is to have something happen when their cues become active, to do so, you listen to the `cuechange` event on the track. These events fire when the mode is `showing` as well.
Here's an example:
```js
let tracks = player.textTracks();
let metadataTrack;
for (let i = 0; i < tracks.length; i++) {
let track = tracks[i];
// find the metadata track that's labeled ads
if (track.kind === 'captions' && track.label === 'ads') {
track.mode = 'hidden';
// store it for usage outside of the loop
metadataTrack = track;
}
}
metadataTrack.addEventListener('cuechange', function() {
player.ads.startLinearAdMode();
});
```
## Emulated Text Tracks
By default, video.js will try and use native text tracks if possible and fall back to emulated text tracks if the native functionality is broken or incomplete or non-existent.
The Flash tech will always use the emulated text track functionality.
The video.js API and TextTrack objects were modeled after the w3c's specification.
video.js uses [Mozilla's vtt.js](https://github.com/mozilla/vtt.js) library to parse and display its emulated text tracks.
If you wanted to disable native text track functionality and force video.js to use emulated text tracks always, you can supply the `nativeTextTracks` option to the tech like so:
```js
let player = videojs('myvideo', {
html5: {
nativeTextTracks: false
}
});
```
### Text Track Settings
When using emulated Text Tracks, captions will have an additional item in the menu called "caption settings".
This allows the viewer of the player to change some styles of how the captions are displayed on screen.
If you don't want that, you can disable it by turning off the text track settings component and hiding the menu item like so:
```js
let player = videojs('myvideo', {
// make the text track settings dialog not initialize
textTrackSettings: false
});
```
```css
/* hide the captions settings item from the captions menu */
.vjs-texttrack-settings {
display: none;
}
```
## Text Track Precedence
In general, the Descriptions tracks is of lower precedence than captions and subtitles.
What this means for you?
* If you are using the `default` attribute, videojs will choose the first track that is marked as `default` and turn it on. If There are multiple tracks marked `default`, it will try and turn on the first `captions` or `subtitles` track *before* any `descriptions` tracks.
* This only applied to the emulated captions support, native text tracks behavior will change depending on the browser
* If you select a given track from the menu, videojs will turn off all the other tracks of the same kind. This may seem like you can have both subtitles and captions turned on at the same time but unfortuantely, at this time we only support one track being displayed at a time.
* This means that for emulated text tracks, we'll choose the first captions or subtitles track that is enabled to display.
* When native text tracks are supported, we will still disable the other tracks of the same kind but it is possible that multiple text tracks are shown.
* If a `descriptions` track is selected and subsequently a `subtitles` or `captions` track is selected, the `descriptions` track is disabled and its menu button is also disabled.
* When enabling a track programmatically, there's not much checking that videojs does.
* For emulated text tracks, when it's time to display the captions, video.js would choose the first track that's showing, again choosing `subtitles` or `captions` over `descriptions`, if necessary.
* For native text tracks, this behavior depends on the browser. Some browsers will let you have multiple text tracks but others will disable all other tracks when a new one is selected.
## API
### `player.textTracks() -> TextTrackList`
This is the main interface into the text tracks of the player.
It return a TextTrackList which lists all the tracks on the player.
### `player.remoteTextTracks() -> TextTrackList`
This is a helper method to get a list of all the tracks that were created from `track` elements or that were added to the player by the `addRemoteTextTrack` method. All these tracks are removeable from the player, where-as not all tracks from `player.textTracks()` are necessarily removeable.
### `player.remoteTextTrackEls() -> HTMLTrackElementList`
Another helper method, this is a list of all the `track` elements associated with the player. Both emulated or otherwise.
### `player.addTextTrack(String kind, [String label [, String language]]) -> TextTrack`
This is based on the [w3c spec API](http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#dom-media-addtexttrack) and when given a kind and an optional label and language, will create a new text track for you to use.
This method is intended for purely programmatic usage of tracks and has one important limitation:
tracks created using this method *cannot* be removed. The native `addTextTrack` does not have a corresponding `removeTextTrack`, so, we actually discourage the usage of this method.
### `player.addRemoteTextTrack(Object options) -> HTMLTrackElement`
This function takes an options object that looks pretty similar to the track element and returns a HTMLTrackElement.
This object has a `track` property on it which is the actual TextTrack object.
This `TextTrack` object is equivalent to the one that can be returned from `player.addTextTrack` with the added bonus that it can be removed from the player.
Internally, video.js will either add a `<track>` element for you, or emulate that depending on whether native text tracks are supported or not.
The options available are:
* `kind`
* `label`
* `language` (also `srclang`)
* `id`
* `src`
### `player.removeRemoteTextTrack(HTMLTrackElement|TextTrack)`
This function takes either an HTMLTrackElement or a TextTrack object and removes it from the player.
+6
Ver Arquivo
@@ -0,0 +1,6 @@
# Tracks
There are currently three types of tracks
* [AudioTracks](./audio-tracks.md) - allows the selection of alternative AudioTracks for a video
* [VideoTracks](./video-tracks.md) - allows the selection of an alternative VideoTrack for a video
* [TextTracks](./text-tracks.md) - Text Tracks are used to display subtitles and captions, and add a menu for navigating between chapters in a video.
+70
Ver Arquivo
@@ -0,0 +1,70 @@
# Video Tracks
Video Tracks are a function of HTML5 video for providing a selection of alternative video tracks to the user, so that they can change type of video they want to watch. Video.js makes video tracks work across all browsers. There are currently six types of tracks:
- **Alternative**: an alternative video representation of the main video track
- **Captions**: The main video track with burned in captions
- **Main**: the main video track
- **Sign**: the main video track with added sign language overlay
- **Subtitles**: the main video track with burned in subtitles
- **Commentary**: the main video track with burned in commentary
## Missing Funtionality
- It is currently impossible to add VideoTracks in a non-programtic way
- Literal switching of VideoTracks for playback is not handled by video.js and must be handled by something else. video.js only stores the track representation
- There is currently no UI implementation of VideoTracks
## Adding to Video.js
> Right now adding video tracks in the HTML is unsupported. Video Tracks must be added programatically.
You must add video tracks [programatically](#api) for the time being.
## Attributes
Video Track propertites and settings
### kind
One of the five track types listed above. Kind defaults to empty string if no kind is included, or an invalid kind is used.
### label
The label for the track that will be show to the user, for example in a menu that list the different languages available for video tracks.
### language
The two-letter code (valid BCP 47 language tag) for the language of the video track, for example "en" for English. A list of language codes is [available here](languages.md#language-codes).
### selected
If this track should be playing or not. Trying to select more than one track will cause other tracks to be deselected.
## Interacting with Video Tracks
### Doing something when a track becomes enabled
When a new track is enabled (other than the main track) an event is fired on the `VideoTrackList` called `change` you can listen to that event and do something with it.
Here's an example:
```js
// get the current players VideoTrackList object
let tracks = player.videoTracks();
// listen to the change event
tracks.addEventListener('change', function() {
// get the currently selected track
let index = tracks.selectedIndex;
let track = tracks[index];
// print the currently selected track
console.log(track.label);
});
```
## API
### `player.videoTracks() -> VideoTrackList`
This is the main interface into the video tracks of the player.
It returns an VideoTrackList which is an array like object that contains all the `VideoTrack` on the player.
### `player.videoTracks().addTrack(VideoTrack)`
Add an existing VideoTrack to the players internal list of VideoTracks.
### `player.videoTracks().removeTrack(VideoTrack)`
Remove a track from the VideoTrackList currently on the player. if no track exists this will do nothing.
### `player.videoTracks().selectedIndex`
The current index for the selected track
+22 -12
Ver Arquivo
@@ -2,26 +2,36 @@
<h1>Video.js Documentation</h1>
The Video.js documentation is here to help you setup and use the player. These docs can be found and contributed to in the [Video.js library repository](https://github.com/zencoder/video-js/tree/master/docs).
There are two categories of docs: [Guides](./guides/) and [API docs](./api/). Guides explain general topics and use cases (e.g. setup). API docs are automatically generated from the codebase and give specific details about functions, properties, and events.
## Getting Started
(Corrections and additions welcome)
* [Setup](setup.md) - Check out the [5 second setup](http://videojs.com/#section5) if you're just getting started. The setup documentation gives a deeper view of the additional methods you can use to trigger the player setup.
## Guides
* [Options](options.md) - There are a number of options that can be used to change how the player behaves, starting with the HTML5 media options like autoplay and preload, and expanding to Video.JS specific options.
### Getting Started
* [Tracks](tracks.md) - Text Tracks are used to display subtitles and captions, and add a menu for navigating between chapters in a video.
* [Setup](./guides/setup.md) - The setup documentation gives a deeper view of the additional methods you can use to trigger the player setup.
## Customizing
* [Options](./guides/options.md) - There are a number of options that can be used to change how the player behaves, starting with the HTML5 media options like autoplay and preload, and expanding to Video.js specific options.
* [API](api.md) - The Video.js API allows you to control the video through javascript or trigger event listeners, whether the video is playing through HTML5, flash, or another playback technology.
* [Tracks](./guides/tracks.md) - Tracks are used for displaying text information over a video, selecting different audio tracks for a video, or selected different video tracks for a video.
* [Skins](skins.md) - You can change the look of the player across playback technologies just by editing a CSS file. The skins documentation gives you a intro to how the HTML and CSS of the default skin is put together.
### Customizing
* [Tech](tech.md) - A 'playback technology' is the term we're using to represent HTML5 video, Flash, and other video plugins, as well as other players like the YouTube player. Basically anything that has a unique API to audio or video. Additional playback technologies can be added relatively easily.
* [API](./guides/api.md) - The Video.js API allows you to control the video through javascript or trigger event listeners, whether the video is playing through HTML5, flash, or another playback technology.
* [Plugins](plugins.md) - You can package up interesting Video.js customizations and reuse them elsewhere. Find out how to build your own plugin or use one created by someone else.
* [Skins](./guides/skins.md) - You can change the look of the player across playback technologies just by editing a CSS file. The skins documentation gives you a intro to how the HTML and CSS of the default skin is put together.
## Resources
* [Tech](./guides/tech.md) - A 'playback technology' is the term we're using to represent HTML5 video, Flash, and other video plugins, as well as other players like the YouTube player. Basically anything that has a unique API to audio or video. Additional playback technologies can be added relatively easily.
* [Glossary](glossary.md) - Some helpful definitions.
* [Plugins](./guides/plugins.md) - You can package up interesting Video.js customizations and reuse them elsewhere. Find out how to build your own plugin or use one created by someone else.
### Resources
* [Glossary](./guides/glossary.md) - Some helpful definitions.
* [Removing Players](./guides/removing-players.md) - Helpful for using VideoJS in single page apps.
## API Docs
- The most relevant API doc is the [player API doc](./api/vjs.Player.md).
- [Full list of API Docs](./api/)
-70
Ver Arquivo
@@ -1,70 +0,0 @@
Setup
=====
Video.js is pretty easy to set up. It can take a matter of seconds to get the player up and working on your web page.
Step 1: Include the Video.js Javascript and CSS files in the head of your page.
------------------------------------------------------------------------------
You can download the Video.js source and host it on your own servers, or use the free CDN hosted version. It's often recommended now to put JavaScript before the end body tag (&lt;/body>) instead of the head (&lt;head>), but Video.js includes an 'HTML5 Shiv', which needs to be in the head for older IE versions to respect the video tag as a valid element.
> NOTE: If you're already using an HTML5 shiv like [Modernizr](http://modernizr.com/) you can include the Video.js JavaScript anywhere, however make sure your version of Modernizr includes the shiv for video.
### CDN Version ###
```html
<link href="http://vjs.zencdn.net/4.0/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/4.0/video.js"></script>
```
### Self Hosted. ###
With the self hosted option you'll also want to update the location of the video-js.swf file.
```html
<link href="http://example.com/path/to/video-js.css" rel="stylesheet">
<script src="http://example.com/path/to/video.js"></script>
<script>
videojs.options.flash.swf = "http://example.com/path/to/video-js.swf"
</script>
```
Step 2: Add an HTML5 video tag to your page.
--------------------------------------------
With Video.js you just use an HTML5 video tag to embed a video. Video.js will then read the tag and make it work in all browsers, not just ones that support HTML5 video. Beyond the basic markup, Video.js needs a few extra pieces.
1. The 'data-setup' Atrribute tells Video.js to automatically set up the video when the page is ready, and read any options (in JSON format) from the attribute (see [options](options.md)). There are other methods for initializing the player, but this is the easiest.
2. The 'id' Attribute: Should be used and unique for every video on the same page.
3. The 'class' attribute contains two classes:
- `video-js` applies styles that are required for Video.js functionality, like fullscreen and subtitles.
- `vjs-default-skin` applies the default skin to the HTML controls, and can be removed or overridden to create your own controls design.
Otherwise include/exclude attributes, settings, sources, and tracks exactly as you would for HTML5 video.
```html
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{"example_option":true}'>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
</video>
```
Alternative Setup for Dynamically Loaded HTML
---------------------------------------------
If your web page or application loads the video tag dynamically (ajax, appendChild, etc.), so that it may not exist when the page loads, you'll want to manually set up the player instead of relying on the data-setup attribute. To do this, first remove the data-setup attribute from the tag so there's no confusion around when the player is initialized. Next, run the following javascript some time after the Video.js javascript library has loaded, and after the video tag has been loaded into the DOM.
```js
videojs("example_video_1", {}, function(){
// Player (this) is initialized and ready.
});
```
The first argument in the `videojs` function is the ID of your video tag. Replace it with your own.
The second argument is an options object. It allows you to set additional options like you can with the data-setup attribute.
The third argument is a 'ready' callback. Once Video.js has initialized it will call this function.
-21
Ver Arquivo
@@ -1,21 +0,0 @@
Skins
=====
The default Video.js skin is made using HTML and CSS, so there's no need to learn a complicated skinning language to update colors or even create an entirely new skin. New in version 3.0 is the use of a sprites image file (video-js.png). The image allows for a little bit more classy design, as well as compatibility with older versions of IE now that the HTML skin also shows when Flash is used for those browsers.
You can view the uncompressed CSS for the default skin by downloading the latest version of Video.js or viewing [the source version](https://github.com/videojs/video.js/blob/master/src/css/video-js.css) on Github.
You can either override styles in the default skin:
```css
.vjs-default-skin .vjs-play-progress { background: #900; }
```
Or remove the 'vjs-default-skin' class from the video tag and create your own skin.
```html
<video class="video-js my-custom-skin" ...>
```
More custom skins will be available for download soon. If you have one you'd like to contribute back, please email it to skins at videojs.
-82
Ver Arquivo
@@ -1,82 +0,0 @@
Playback Technology ("Tech")
============================
Playback Technology refers to the specific browser or plugin technology used to play the video or audio. When using HTML5, the playback technology is the video or audio element. When using Flash, the playback technology is the specific Flash player used, e.g. Flowplayer, YouTube Player, video-js.swf, etc. (not just "Flash"). This could also include Silverlight, Quicktime, or any other plugin that will play back video in the browser, as long as there is an API wrapper written for it.
Essentially we're using HTML5 and plugins only as video decoders, and using HTML and JavaScript to create a consistent API and skinning experience across all of them.
Building an API Wrapper
-----------------------
We'll write a more complete guide on writing a wrapper soon, but for now the best resource is the [Video.js](https://github.com/zencoder/video-js/tree/master/src) source where you can see how both the HTML5 and video-js.swf API wrappers were created.
Required Methods
----------------
canPlayType
play
pause
currentTime
volume
duration
buffered
supportsFullScreen
Required Events
---------------
loadstart
play
pause
playing
ended
volumechange
durationchange
error
Optional Events (include if supported)
--------------------------------------
timeupdate
progress
enterFullScreen
exitFullScreen
Adding Playback Technology
==================
When adding additional Tech to a video player, make sure to add the supported tech to the video object.
### Tag Method: ###
<video data-setup='{"techOrder": ["html5", "flash", "other supported tech"]}'
### Object Method: ###
videojs("videoID", {
techOrder: ["html5", "flash", "other supported tech"]
});
Youtube Technology
==================
To add a youtube source to your video tag, use the following source:
<source src="http://www.youtube.com/watch?v=[ytVideoId]" type="video/youtube"
Important Note:
------------------
> You can simply copy and paste the url of the youtube page from the browser and
> the Youtube Tech will be able to find the video id by itself. This is just the
> minimum needed to get the video working. (Useful for data storage)
Youtube Technology - Extra Options
----------------------------------
In Addition to the natively supported options, the Youtube API supports the following
added options:
### ytcontrols ###
Type: Boolean (T/F)
Default: False
Determines whether to show Youtube's basic Red/Black default play bar skin or to hide
it and use the native video-js play bar.
### hd ###
Type: Boolean (T/F)
Default: False
Determines whether or not to play back the video in HD.
-225
Ver Arquivo
@@ -1,225 +0,0 @@
Tracks
======
Text Tracks are a function of HTML5 video for providing time triggered text to the viewer. Video.js makes tracks work across all browsers. There are currently five types of tracks:
- **Subtitles**: Translations of the dialogue in the video for when audio is available but not understood. Subtitles are shown over the video.
- **Captions**: Transcription of the dialogue, sound effects, musical cues, and other audio information for when the viewer is deaf/hard of hearing, or the video is muted. Captions are also shown over the video.
- **Chapters**: Chapter titles that are used to create navigation within the video. Typically they're in the form of a list of chapters that the viewer can click on to go to a specific chapter.
- **Descriptions** (not supported yet): Text descriptions of what's happening in the video for when the video portion isn't available, because the viewer is blind, not using a screen, or driving and about to crash because they're trying to enjoy a video while driving. Descriptions are read by a screen reader or turned into a separate audio track.
- **Metadata** (not supported yet): Tracks that have data meant for javascript to parse and do something with. These aren't shown to the user.
Creating the Text File
----------------------
Timed text requires a text file in [WebVTT](http://dev.w3.org/html5/webvtt/) format. This format defines a list of "cues" that have a start time, and end time, and text to display. [Microsoft has a builder](http://ie.microsoft.com/testdrive/Graphics/CaptionMaker/) that can help you get started on the file.
When creating captions, there's also additional [caption formatting techniques](http://www.theneitherworld.com/mcpoodle/SCC_TOOLS/DOCS/SCC_FORMAT.HTML#style) that would be good to use, like brackets around sound effects. [ sound effect ]
Adding to Video.js
------------------
Once you have your WebVTT file created, you can add it to Video.js using the track trag. Put your track track tag after all the source elements, and before any fallback content.
```html
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
data-setup='{"example_option":true}'>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
<track kind="captions" src="http://example.com/path/to/captions.vtt" srclang="en" label="English" default>
</video>
```
Track Attributes
----------------
Additional settings for track tags.
### kind
One of the five track types listed above. Kind defaults to subtitles if no kind is included.
### label
The label for the track that will be show to the user, for example in a menu that list the different languages available for subtitles.
### default
The default attribute can be used to have a track default to showing. Otherwise the viewer would need to select their language from the captions or subtitles menu.
NOTE: For chapters, default is required if you want the chapters menu to show.
### srclang
The two-letter code (valid BCP 47 language tag) for the language of the text track, for example "en" for English. Here's a list of available language codes.
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
<table>
<tr><th>ab<th><td>Abkhazian</td></tr>
<tr><th>aa<th><td>Afar</td></tr>
<tr><th>af<th><td>Afrikaans</td></tr>
<tr><th>sq<th><td>Albanian</td></tr>
<tr><th>am<th><td>Amharic</td></tr>
<tr><th>ar<th><td>Arabic</td></tr>
<tr><th>an<th><td>Aragonese</td></tr>
<tr><th>hy<th><td>Armenian</td></tr>
<tr><th>as<th><td>Assamese</td></tr>
<tr><th>ay<th><td>Aymara</td></tr>
<tr><th>az<th><td>Azerbaijani</td></tr>
<tr><th>ba<th><td>Bashkir</td></tr>
<tr><th>eu<th><td>Basque</td></tr>
<tr><th>bn<th><td>Bengali (Bangla)</td></tr>
<tr><th>dz<th><td>Bhutani</td></tr>
<tr><th>bh<th><td>Bihari</td></tr>
<tr><th>bi<th><td>Bislama</td></tr>
<tr><th>br<th><td>Breton</td></tr>
<tr><th>bg<th><td>Bulgarian</td></tr>
<tr><th>my<th><td>Burmese</td></tr>
<tr><th>be<th><td>Byelorussian (Belarusian)</td></tr>
<tr><th>km<th><td>Cambodian</td></tr>
<tr><th>ca<th><td>Catalan</td></tr>
<tr><th>zh<th><td>Chinese (Simplified)</td></tr>
<tr><th>zh<th><td>Chinese (Traditional)</td></tr>
<tr><th>co<th><td>Corsican</td></tr>
<tr><th>hr<th><td>Croatian</td></tr>
<tr><th>cs<th><td>Czech</td></tr>
<tr><th>da<th><td>Danish</td></tr>
<tr><th>nl<th><td>Dutch</td></tr>
<tr><th>en<th><td>English</td></tr>
<tr><th>eo<th><td>Esperanto</td></tr>
<tr><th>et<th><td>Estonian</td></tr>
<tr><th>fo<th><td>Faeroese</td></tr>
<tr><th>fa<th><td>Farsi</td></tr>
<tr><th>fj<th><td>Fiji</td></tr>
<tr><th>fi<th><td>Finnish</td></tr>
</table>
</td>
<td>
<table>
<tr><th>fr<th><td>French</td></tr>
<tr><th>fy<th><td>Frisian</td></tr>
<tr><th>gl<th><td>Galician</td></tr>
<tr><th>gd<th><td>Gaelic (Scottish)</td></tr>
<tr><th>gv<th><td>Gaelic (Manx)</td></tr>
<tr><th>ka<th><td>Georgian</td></tr>
<tr><th>de<th><td>German</td></tr>
<tr><th>el<th><td>Greek</td></tr>
<tr><th>kl<th><td>Greenlandic</td></tr>
<tr><th>gn<th><td>Guarani</td></tr>
<tr><th>gu<th><td>Gujarati</td></tr>
<tr><th>ht<th><td>Haitian Creole</td></tr>
<tr><th>ha<th><td>Hausa</td></tr>
<tr><th>he<th><td>Hebrew</td></tr>
<tr><th>hi<th><td>Hindi</td></tr>
<tr><th>hu<th><td>Hungarian</td></tr>
<tr><th>is<th><td>Icelandic</td></tr>
<tr><th>io<th><td>Ido</td></tr>
<tr><th>id<th><td>Indonesian</td></tr>
<tr><th>ia<th><td>Interlingua</td></tr>
<tr><th>ie<th><td>Interlingue</td></tr>
<tr><th>iu<th><td>Inuktitut</td></tr>
<tr><th>ik<th><td>Inupiak</td></tr>
<tr><th>ga<th><td>Irish</td></tr>
<tr><th>it<th><td>Italian</td></tr>
<tr><th>ja<th><td>Japanese</td></tr>
<tr><th>jv<th><td>Javanese</td></tr>
<tr><th>kn<th><td>Kannada</td></tr>
<tr><th>ks<th><td>Kashmiri</td></tr>
<tr><th>kk<th><td>Kazakh</td></tr>
<tr><th>rw<th><td>Kinyarwanda (Ruanda)</td></tr>
<tr><th>ky<th><td>Kirghiz</td></tr>
<tr><th>rn<th><td>Kirundi (Rundi)</td></tr>
<tr><th>ko<th><td>Korean</td></tr>
<tr><th>ku<th><td>Kurdish</td></tr>
<tr><th>lo<th><td>Laothian</td></tr>
<tr><th>la<th><td>Latin</td></tr>
</table>
</td>
<td>
<table>
<tr><th>lv<th><td>Latvian (Lettish)</td></tr>
<tr><th>li<th><td>Limburgish ( Limburger)</td></tr>
<tr><th>ln<th><td>Lingala</td></tr>
<tr><th>lt<th><td>Lithuanian</td></tr>
<tr><th>mk<th><td>Macedonian</td></tr>
<tr><th>mg<th><td>Malagasy</td></tr>
<tr><th>ms<th><td>Malay</td></tr>
<tr><th>ml<th><td>Malayalam</td></tr>
<tr><th>mt<th><td>Maltese</td></tr>
<tr><th>mi<th><td>Maori</td></tr>
<tr><th>mr<th><td>Marathi</td></tr>
<tr><th>mo<th><td>Moldavian</td></tr>
<tr><th>mn<th><td>Mongolian</td></tr>
<tr><th>na<th><td>Nauru</td></tr>
<tr><th>ne<th><td>Nepali</td></tr>
<tr><th>no<th><td>Norwegian</td></tr>
<tr><th>oc<th><td>Occitan</td></tr>
<tr><th>or<th><td>Oriya</td></tr>
<tr><th>om<th><td>Oromo (Afan, Galla)</td></tr>
<tr><th>ps<th><td>Pashto (Pushto)</td></tr>
<tr><th>pl<th><td>Polish</td></tr>
<tr><th>pt<th><td>Portuguese</td></tr>
<tr><th>pa<th><td>Punjabi</td></tr>
<tr><th>qu<th><td>Quechua</td></tr>
<tr><th>rm<th><td>Rhaeto-Romance</td></tr>
<tr><th>ro<th><td>Romanian</td></tr>
<tr><th>ru<th><td>Russian</td></tr>
<tr><th>sm<th><td>Samoan</td></tr>
<tr><th>sg<th><td>Sangro</td></tr>
<tr><th>sa<th><td>Sanskrit</td></tr>
<tr><th>sr<th><td>Serbian</td></tr>
<tr><th>sh<th><td>Serbo-Croatian</td></tr>
<tr><th>st<th><td>Sesotho</td></tr>
<tr><th>tn<th><td>Setswana</td></tr>
<tr><th>sn<th><td>Shona</td></tr>
<tr><th>ii<th><td>Sichuan Yi</td></tr>
<tr><th>sd<th><td>Sindhi</td></tr>
</table>
</td>
<td>
<table>
<tr><th>si<th><td>Sinhalese</td></tr>
<tr><th>ss<th><td>Siswati</td></tr>
<tr><th>sk<th><td>Slovak</td></tr>
<tr><th>sl<th><td>Slovenian</td></tr>
<tr><th>so<th><td>Somali</td></tr>
<tr><th>es<th><td>Spanish</td></tr>
<tr><th>su<th><td>Sundanese</td></tr>
<tr><th>sw<th><td>Swahili (Kiswahili)</td></tr>
<tr><th>sv<th><td>Swedish</td></tr>
<tr><th>tl<th><td>Tagalog</td></tr>
<tr><th>tg<th><td>Tajik</td></tr>
<tr><th>ta<th><td>Tamil</td></tr>
<tr><th>tt<th><td>Tatar</td></tr>
<tr><th>te<th><td>Telugu</td></tr>
<tr><th>th<th><td>Thai</td></tr>
<tr><th>bo<th><td>Tibetan</td></tr>
<tr><th>ti<th><td>Tigrinya</td></tr>
<tr><th>to<th><td>Tonga</td></tr>
<tr><th>ts<th><td>Tsonga</td></tr>
<tr><th>tr<th><td>Turkish</td></tr>
<tr><th>tk<th><td>Turkmen</td></tr>
<tr><th>tw<th><td>Twi</td></tr>
<tr><th>ug<th><td>Uighur</td></tr>
<tr><th>uk<th><td>Ukrainian</td></tr>
<tr><th>ur<th><td>Urdu</td></tr>
<tr><th>uz<th><td>Uzbek</td></tr>
<tr><th>vi<th><td>Vietnamese</td></tr>
<tr><th>vo<th><td>Volapük</td></tr>
<tr><th>wa<th><td>Wallon</td></tr>
<tr><th>cy<th><td>Welsh</td></tr>
<tr><th>wo<th><td>Wolof</td></tr>
<tr><th>xh<th><td>Xhosa</td></tr>
<tr><th>yi<th><td>Yiddish</td></tr>
<tr><th>yo<th><td>Yoruba</td></tr>
<tr><th>zu<th><td>Zulu</td></tr>
</table>
</td>
</tr>
</table>
+34
Ver Arquivo
@@ -0,0 +1,34 @@
{
"Play": "تشغيل",
"Pause": "ايقاف",
"Current Time": "الوقت الحالي",
"Duration Time": "Dauer",
"Remaining Time": "الوقت المتبقي",
"Stream Type": "نوع التيار",
"LIVE": "مباشر",
"Loaded": "تم التحميل",
"Progress": "التقدم",
"Fullscreen": "ملء الشاشة",
"Non-Fullscreen": "غير ملء الشاشة",
"Mute": "صامت",
"Unmute": "غير الصامت",
"Playback Rate": "معدل التشغيل",
"Subtitles": "الترجمة",
"subtitles off": "ايقاف الترجمة",
"Captions": "التعليقات",
"captions off": "ايقاف التعليقات",
"Chapters": "فصول",
"You aborted the media playback": "لقد ألغيت تشغيل الفيديو",
"A network error caused the media download to fail part-way.": "تسبب خطأ في الشبكة بفشل تحميل الفيديو بالكامل.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "لا يمكن تحميل الفيديو بسبب فشل في الخادم أو الشبكة ، أو فشل بسبب عدم امكانية قراءة تنسيق الفيديو.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "تم ايقاف تشغيل الفيديو بسبب مشكلة فساد أو لأن الفيديو المستخدم يستخدم ميزات غير مدعومة من متصفحك.",
"No compatible source was found for this media.": "فشل العثور على أي مصدر متوافق مع هذا الفيديو.",
"Play Video": "تشغيل الفيديو",
"Close": "أغلق",
"Modal Window": "نافذة مشروطة",
"This is a modal window": "هذه نافذة مشروطة",
"This modal can be closed by pressing the Escape key or activating the close button.": "يمكن غلق هذه النافذة المشروطة عن طريق الضغط على زر الخروج أو تفعيل زر الإغلاق",
", opens captions settings dialog": ", تفتح نافذة خيارات التعليقات",
", opens subtitles settings dialog": ", تفتح نافذة خيارات الترجمة",
", selected": ", مختار"
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Pusti",
"Pause": "Pauza",
"Current Time": "Trenutno vrijeme",
"Duration Time": "Vrijeme trajanja",
"Remaining Time": "Preostalo vrijeme",
"Stream Type": "Način strimovanja",
"LIVE": "UŽIVO",
"Loaded": "Učitan",
"Progress": "Progres",
"Fullscreen": "Puni ekran",
"Non-Fullscreen": "Mali ekran",
"Mute": "Prigušen",
"Unmute": "Ne-prigušen",
"Playback Rate": "Stopa reprodukcije",
"Subtitles": "Podnaslov",
"subtitles off": "Podnaslov deaktiviran",
"Captions": "Titlovi",
"captions off": "Titlovi deaktivirani",
"Chapters": "Poglavlja",
"You aborted the media playback": "Isključili ste reprodukciju videa.",
"A network error caused the media download to fail part-way.": "Video se prestao preuzimati zbog greške na mreži.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Video se ne može reproducirati zbog servera, greške u mreži ili je format ne podržan.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Reprodukcija videa je zaustavljenja zbog greške u formatu ili zbog verzije vašeg pretraživača.",
"No compatible source was found for this media.": "Nije nađen nijedan kompatibilan izvor ovog videa."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Възпроизвеждане",
"Pause": "Пауза",
"Current Time": "Текущо време",
"Duration Time": "Продължителност",
"Remaining Time": "Оставащо време",
"Stream Type": "Тип на потока",
"LIVE": "НА ЖИВО",
"Loaded": "Заредено",
"Progress": "Прогрес",
"Fullscreen": "Цял екран",
"Non-Fullscreen": "Спиране на цял екран",
"Mute": "Без звук",
"Unmute": "Със звук",
"Playback Rate": "Скорост на възпроизвеждане",
"Subtitles": "Субтитри",
"subtitles off": "Спряни субтитри",
"Captions": "Аудио надписи",
"captions off": "Спряни аудио надписи",
"Chapters": "Глави",
"You aborted the media playback": "Спряхте възпроизвеждането на видеото",
"A network error caused the media download to fail part-way.": "Грешка в мрежата провали изтеглянето на видеото.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Видеото не може да бъде заредено заради проблем със сървъра или мрежата или защото този формат не е поддържан.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Възпроизвеждането на видеото беше прекъснато заради проблем с файла или защото видеото използва опции които браузърът Ви не поддържа.",
"No compatible source was found for this media.": "Не беше намерен съвместим източник за това видео."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Reproducció",
"Pause": "Pausa",
"Current Time": "Temps reproduït",
"Duration Time": "Durada total",
"Remaining Time": "Temps restant",
"Stream Type": "Tipus de seqüència",
"LIVE": "EN DIRECTE",
"Loaded": "Carregat",
"Progress": "Progrés",
"Fullscreen": "Pantalla completa",
"Non-Fullscreen": "Pantalla no completa",
"Mute": "Silencia",
"Unmute": "Amb so",
"Playback Rate": "Velocitat de reproducció",
"Subtitles": "Subtítols",
"subtitles off": "Subtítols desactivats",
"Captions": "Llegendes",
"captions off": "Llegendes desactivades",
"Chapters": "Capítols",
"You aborted the media playback": "Heu interromput la reproducció del vídeo.",
"A network error caused the media download to fail part-way.": "Un error de la xarxa ha interromput la baixada del vídeo.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "No s'ha pogut carregar el vídeo perquè el servidor o la xarxa han fallat, o bé perquè el seu format no és compatible.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "La reproducció de vídeo s'ha interrumput per un problema de corrupció de dades o bé perquè el vídeo demanava funcions que el vostre navegador no ofereix.",
"No compatible source was found for this media.": "No s'ha trobat cap font compatible amb el vídeo."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Přehrát",
"Pause": "Pauza",
"Current Time": "Aktuální čas",
"Duration Time": "Doba trvání",
"Remaining Time": "Zbývající čas",
"Stream Type": "Stream Type",
"LIVE": "ŽIVĚ",
"Loaded": "Načteno",
"Progress": "Stav",
"Fullscreen": "Celá obrazovka",
"Non-Fullscreen": "Zmenšená obrazovka",
"Mute": "Ztlumit zvuk",
"Unmute": "Přehrát zvuk",
"Playback Rate": "Rychlost přehrávání",
"Subtitles": "Titulky",
"subtitles off": "Titulky vypnuty",
"Captions": "Popisky",
"captions off": "Popisky vypnuty",
"Chapters": "Kapitoly",
"You aborted the media playback": "Přehrávání videa je přerušeno.",
"A network error caused the media download to fail part-way.": "Video nemohlo být načteno, kvůli chybě v síti.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Video nemohlo být načteno, buď kvůli chybě serveru nebo sítě nebo proto, že daný formát není podporován.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Váš prohlížeč nepodporuje formát videa.",
"No compatible source was found for this media.": "Špatně zadaný zdroj videa."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Afspil",
"Pause": "Pause",
"Current Time": "Aktuel tid",
"Duration Time": "Varighed",
"Remaining Time": "Resterende tid",
"Stream Type": "Stream-type",
"LIVE": "LIVE",
"Loaded": "Indlæst",
"Progress": "Status",
"Fullscreen": "Fuldskærm",
"Non-Fullscreen": "Luk fuldskærm",
"Mute": "Uden lyd",
"Unmute": "Med lyd",
"Playback Rate": "Afspilningsrate",
"Subtitles": "Undertekster",
"subtitles off": "Uden undertekster",
"Captions": "Undertekster for hørehæmmede",
"captions off": "Uden undertekster for hørehæmmede",
"Chapters": "Kapitler",
"You aborted the media playback": "Du afbrød videoafspilningen.",
"A network error caused the media download to fail part-way.": "En netværksfejl fik download af videoen til at fejle.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Videoen kunne ikke indlæses, enten fordi serveren eller netværket fejlede, eller fordi formatet ikke er understøttet.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Videoafspilningen blev afbrudt på grund af ødelagte data eller fordi videoen benyttede faciliteter som din browser ikke understøtter.",
"No compatible source was found for this media.": "Fandt ikke en kompatibel kilde for denne media."
}
+34
Ver Arquivo
@@ -0,0 +1,34 @@
{
"Play": "Wiedergabe",
"Pause": "Pause",
"Current Time": "Aktueller Zeitpunkt",
"Duration Time": "Dauer",
"Remaining Time": "Verbleibende Zeit",
"Stream Type": "Streamtyp",
"LIVE": "LIVE",
"Loaded": "Geladen",
"Progress": "Status",
"Fullscreen": "Vollbild",
"Non-Fullscreen": "Kein Vollbild",
"Mute": "Ton aus",
"Unmute": "Ton ein",
"Playback Rate": "Wiedergabegeschwindigkeit",
"Subtitles": "Untertitel",
"subtitles off": "Untertitel aus",
"Captions": "Untertitel",
"captions off": "Untertitel aus",
"Chapters": "Kapitel",
"You aborted the media playback": "Sie haben die Videowiedergabe abgebrochen.",
"A network error caused the media download to fail part-way.": "Der Videodownload ist aufgrund eines Netzwerkfehlers fehlgeschlagen.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Die Videowiedergabe wurde entweder wegen eines Problems mit einem beschädigten Video oder wegen verwendeten Funktionen, die vom Browser nicht unterstützt werden, abgebrochen.",
"No compatible source was found for this media.": "Für dieses Video wurde keine kompatible Quelle gefunden.",
"Play Video": "Video abspielen",
"Close": "Schließen",
"Modal Window": "Modales Fenster",
"This is a modal window": "Dies ist ein modales Fenster",
"This modal can be closed by pressing the Escape key or activating the close button.": "Durch Drücken der Esc-Taste bzw. Betätigung der Schaltfläche \"Schließen\" wird dieses modale Fenster geschlossen.",
", opens captions settings dialog": ", öffnet Einstellungen für Untertitel",
", opens subtitles settings dialog": ", öffnet Einstellungen für Untertitel",
", selected": " (ausgewählt)"
}
+34
Ver Arquivo
@@ -0,0 +1,34 @@
{
"Play": "Aναπαραγωγή",
"Pause": "Παύση",
"Current Time": "Τρέχων χρόνος",
"Duration Time": "Συνολικός χρόνος",
"Remaining Time": "Υπολοιπόμενος χρόνος",
"Stream Type": "Τύπος ροής",
"LIVE": "ΖΩΝΤΑΝΑ",
"Loaded": "Φόρτωση επιτυχής",
"Progress": "Πρόοδος",
"Fullscreen": "Πλήρης οθόνη",
"Non-Fullscreen": "Έξοδος από πλήρη οθόνη",
"Mute": "Σίγαση",
"Unmute": "Kατάργηση σίγασης",
"Playback Rate": "Ρυθμός αναπαραγωγής",
"Subtitles": "Υπότιτλοι",
"subtitles off": "απόκρυψη υπότιτλων",
"Captions": "Λεζάντες",
"captions off": "απόκρυψη λεζάντων",
"Chapters": "Κεφάλαια",
"You aborted the media playback": "Ακυρώσατε την αναπαραγωγή",
"A network error caused the media download to fail part-way.": "Ένα σφάλμα δικτύου προκάλεσε την αποτυχία μεταφόρτωσης του αρχείου προς αναπαραγωγή.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Το αρχείο προς αναπαραγωγή δεν ήταν δυνατό να φορτωθεί είτε γιατί υπήρξε σφάλμα στον διακομιστή ή το δίκτυο, είτε γιατί ο τύπος του αρχείου δεν υποστηρίζεται.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Η αναπαραγωγή ακυρώθηκε είτε λόγω κατεστραμμένου αρχείου, είτε γιατί το αρχείο απαιτεί λειτουργίες που δεν υποστηρίζονται από το πρόγραμμα περιήγησης που χρησιμοποιείτε.",
"No compatible source was found for this media.": "Δεν βρέθηκε συμβατή πηγή αναπαραγωγής για το συγκεκριμένο αρχείο.",
"Play video": "Αναπαραγωγή βίντεο",
"Close": "Κλείσιμο",
"Modal Window": "Aναδυόμενο παράθυρο",
"This is a modal window": "Το παρών είναι ένα αναδυόμενο παράθυρο",
"This modal can be closed by pressing the Escape key or activating the close button.": "Αυτό το παράθυρο μπορεί να εξαφανιστεί πατώντας το πλήκτρο Escape ή πατώντας το κουμπί κλεισίματος.",
", opens captions settings dialog": ", εμφανίζει τις ρυθμίσεις για τις λεζάντες",
", opens subtitles settings dialog": ", εμφανίζει τις ρυθμίσεις για τους υπότιτλους",
", selected": ", επιλεγμένο"
}
+39
Ver Arquivo
@@ -0,0 +1,39 @@
{
"Play": "Play",
"Pause": "Pause",
"Current Time": "Current Time",
"Duration Time": "Duration Time",
"Remaining Time": "Remaining Time",
"Stream Type": "Stream Type",
"LIVE": "LIVE",
"Loaded": "Loaded",
"Progress": "Progress",
"Fullscreen": "Fullscreen",
"Non-Fullscreen": "Non-Fullscreen",
"Mute": "Mute",
"Unmute": "Unmute",
"Playback Rate": "Playback Rate",
"Subtitles": "Subtitles",
"subtitles off": "subtitles off",
"Captions": "Captions",
"captions off": "captions off",
"Chapters": "Chapters",
"Close Modal Dialog": "Close Modal Dialog",
"Descriptions": "Descriptions",
"descriptions off": "descriptions off",
"Audio Track": "Audio Track",
"You aborted the media playback": "You aborted the media playback",
"A network error caused the media download to fail part-way.": "A network error caused the media download to fail part-way.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "The media could not be loaded, either because the server or network failed or because the format is not supported.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",
"No compatible source was found for this media.": "No compatible source was found for this media.",
"Play Video": "Play Video",
"Close": "Close",
"Modal Window": "Modal Window",
"This is a modal window": "This is a modal window",
"This modal can be closed by pressing the Escape key or activating the close button.": "This modal can be closed by pressing the Escape key or activating the close button.",
", opens captions settings dialog": ", opens captions settings dialog",
", opens subtitles settings dialog": ", opens subtitles settings dialog",
", opens descriptions settings dialog": ", opens descriptions settings dialog",
", selected": ", selected"
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Reproducción",
"Pause": "Pausa",
"Current Time": "Tiempo reproducido",
"Duration Time": "Duración total",
"Remaining Time": "Tiempo restante",
"Stream Type": "Tipo de secuencia",
"LIVE": "DIRECTO",
"Loaded": "Cargado",
"Progress": "Progreso",
"Fullscreen": "Pantalla completa",
"Non-Fullscreen": "Pantalla no completa",
"Mute": "Silenciar",
"Unmute": "No silenciado",
"Playback Rate": "Velocidad de reproducción",
"Subtitles": "Subtítulos",
"subtitles off": "Subtítulos desactivados",
"Captions": "Subtítulos especiales",
"captions off": "Subtítulos especiales desactivados",
"Chapters": "Capítulos",
"You aborted the media playback": "Ha interrumpido la reproducción del vídeo.",
"A network error caused the media download to fail part-way.": "Un error de red ha interrumpido la descarga del vídeo.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "No se ha podido cargar el vídeo debido a un fallo de red o del servidor o porque el formato es incompatible.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "La reproducción de vídeo se ha interrumpido por un problema de corrupción de datos o porque el vídeo precisa funciones que su navegador no ofrece.",
"No compatible source was found for this media.": "No se ha encontrado ninguna fuente compatible con este vídeo."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "پخش",
"Pause": "وقفه",
"Current Time": "زمان کنونی",
"Duration Time": "مدت زمان",
"Remaining Time": "زمان باقیمانده",
"Stream Type": "نوع استریم",
"LIVE": "زنده",
"Loaded": "فراخوانی شده",
"Progress": "پیشرفت",
"Fullscreen": "تمام صفحه",
"Non-Fullscreen": "نمایش عادی",
"Mute": "بی صدا",
"Unmute": "بهمراه صدا",
"Playback Rate": "سرعت پخش",
"Subtitles": "زیرنویس",
"subtitles off": "بدون زیرنویس",
"Captions": "عنوان",
"captions off": "بدون عنوان",
"Chapters": "فصل",
"You aborted the media playback": "شما پخش را متوقف کردید.",
"A network error caused the media download to fail part-way.": "مشکل در دریافت ویدئو ...",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "فرمت پشتیبانی نمیشود یا خطایی روی داده است.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "مشکل در دریافت ویدئو ...",
"No compatible source was found for this media.": "هیچ ورودی ای برای این رسانه شناسایی نشد."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Toisto",
"Pause": "Tauko",
"Current Time": "Tämänhetkinen aika",
"Duration Time": "Kokonaisaika",
"Remaining Time": "Jäljellä oleva aika",
"Stream Type": "Lähetystyyppi",
"LIVE": "LIVE",
"Loaded": "Ladattu",
"Progress": "Edistyminen",
"Fullscreen": "Koko näyttö",
"Non-Fullscreen": "Koko näyttö pois",
"Mute": "Ääni pois",
"Unmute": "Ääni päällä",
"Playback Rate": "Toistonopeus",
"Subtitles": "Tekstitys",
"subtitles off": "Tekstitys pois",
"Captions": "Tekstitys",
"captions off": "Tekstitys pois",
"Chapters": "Kappaleet",
"You aborted the media playback": "Olet keskeyttänyt videotoiston.",
"A network error caused the media download to fail part-way.": "Verkkovirhe keskeytti videon latauksen.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Videon lataus ei onnistunut joko palvelin- tai verkkovirheestä tai väärästä formaatista johtuen.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Videon toisto keskeytyi, koska media on vaurioitunut tai käyttää käyttää toimintoja, joita selaimesi ei tue.",
"No compatible source was found for this media.": "Tälle videolle ei löytynyt yhteensopivaa lähdettä."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Lecture",
"Pause": "Pause",
"Current Time": "Temps actuel",
"Duration Time": "Durée",
"Remaining Time": "Temps restant",
"Stream Type": "Type de flux",
"LIVE": "EN DIRECT",
"Loaded": "Chargé",
"Progress": "Progression",
"Fullscreen": "Plein écran",
"Non-Fullscreen": "Fenêtré",
"Mute": "Sourdine",
"Unmute": "Son activé",
"Playback Rate": "Vitesse de lecture",
"Subtitles": "Sous-titres",
"subtitles off": "Sous-titres désactivés",
"Captions": "Sous-titres",
"captions off": "Sous-titres désactivés",
"Chapters": "Chapitres",
"You aborted the media playback": "Vous avez interrompu la lecture de la vidéo.",
"A network error caused the media download to fail part-way.": "Une erreur de réseau a interrompu le téléchargement de la vidéo.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Cette vidéo n'a pas pu être chargée, soit parce que le serveur ou le réseau a échoué ou parce que le format n'est pas reconnu.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "La lecture de la vidéo a été interrompue à cause d'un problème de corruption ou parce que la vidéo utilise des fonctionnalités non prises en charge par votre navigateur.",
"No compatible source was found for this media.": "Aucune source compatible n'a été trouvée pour cette vidéo."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Pusti",
"Pause": "Pauza",
"Current Time": "Trenutno vrijeme",
"Duration Time": "Vrijeme trajanja",
"Remaining Time": "Preostalo vrijeme",
"Stream Type": "Način strimovanja",
"LIVE": "UŽIVO",
"Loaded": "Učitan",
"Progress": "Progres",
"Fullscreen": "Puni ekran",
"Non-Fullscreen": "Mali ekran",
"Mute": "Prigušen",
"Unmute": "Ne-prigušen",
"Playback Rate": "Stopa reprodukcije",
"Subtitles": "Podnaslov",
"subtitles off": "Podnaslov deaktiviran",
"Captions": "Titlovi",
"captions off": "Titlovi deaktivirani",
"Chapters": "Poglavlja",
"You aborted the media playback": "Isključili ste reprodukciju videa.",
"A network error caused the media download to fail part-way.": "Video se prestao preuzimati zbog greške na mreži.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Video se ne može reproducirati zbog servera, greške u mreži ili je format ne podržan.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Reprodukcija videa je zaustavljenja zbog greške u formatu ili zbog verzije vašeg pretraživača.",
"No compatible source was found for this media.": "Nije nađen nijedan kompatibilan izvor ovog videa."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Lejátszás",
"Pause": "Szünet",
"Current Time": "Aktuális időpont",
"Duration Time": "Hossz",
"Remaining Time": "Hátralévő idő",
"Stream Type": "Adatfolyam típusa",
"LIVE": "ÉLŐ",
"Loaded": "Betöltve",
"Progress": "Állapot",
"Fullscreen": "Teljes képernyő",
"Non-Fullscreen": "Normál méret",
"Mute": "Némítás",
"Unmute": "Némítás kikapcsolva",
"Playback Rate": "Lejátszási sebesség",
"Subtitles": "Feliratok",
"subtitles off": "Feliratok kikapcsolva",
"Captions": "Magyarázó szöveg",
"captions off": "Magyarázó szöveg kikapcsolva",
"Chapters": "Fejezetek",
"You aborted the media playback": "Leállította a lejátszást",
"A network error caused the media download to fail part-way.": "Hálózati hiba miatt a videó részlegesen töltődött le.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "A videó nem tölthető be hálózati vagy kiszolgálói hiba miatt, vagy a formátuma nem támogatott.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "A lejátszás adatsérülés miatt leállt, vagy a videó egyes tulajdonságait a böngészője nem támogatja.",
"No compatible source was found for this media.": "Nincs kompatibilis forrás ehhez a videóhoz."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Play",
"Pause": "Pausa",
"Current Time": "Orario attuale",
"Duration Time": "Durata",
"Remaining Time": "Tempo rimanente",
"Stream Type": "Tipo del Streaming",
"LIVE": "LIVE",
"Loaded": "Caricato",
"Progress": "Stato",
"Fullscreen": "Schermo intero",
"Non-Fullscreen": "Chiudi schermo intero",
"Mute": "Muto",
"Unmute": "Audio",
"Playback Rate": "Tasso di riproduzione",
"Subtitles": "Sottotitoli",
"subtitles off": "Senza sottotitoli",
"Captions": "Sottotitoli non udenti",
"captions off": "Senza sottotitoli non udenti",
"Chapters": "Capitolo",
"You aborted the media playback": "La riproduzione del filmato è stata interrotta.",
"A network error caused the media download to fail part-way.": "Il download del filmato è stato interrotto a causa di un problema rete.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Il filmato non può essere caricato a causa di un errore nel server o nella rete o perché il formato non viene supportato.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "La riproduzione del filmato è stata interrotta a causa di un file danneggiato o per lutilizzo di impostazioni non supportate dal browser.",
"No compatible source was found for this media.": "Non ci sono fonti compatibili per questo filmato."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "再生",
"Pause": "一時停止",
"Current Time": "現在の時間",
"Duration Time": "長さ",
"Remaining Time": "残りの時間",
"Stream Type": "ストリームの種類",
"LIVE": "ライブ",
"Loaded": "ロード済み",
"Progress": "進行状況",
"Fullscreen": "フルスクリーン",
"Non-Fullscreen": "フルスクリーン以外",
"Mute": "ミュート",
"Unmute": "ミュート解除",
"Playback Rate": "再生レート",
"Subtitles": "サブタイトル",
"subtitles off": "サブタイトル オフ",
"Captions": "キャプション",
"captions off": "キャプション オフ",
"Chapters": "チャプター",
"You aborted the media playback": "動画再生を中止しました",
"A network error caused the media download to fail part-way.": "ネットワーク エラーにより動画のダウンロードが途中で失敗しました",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "サーバーまたはネットワークのエラー、またはフォーマットがサポートされていないため、動画をロードできませんでした",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "破損の問題、またはお使いのブラウザがサポートしていない機能が動画に使用されていたため、動画の再生が中止されました",
"No compatible source was found for this media.": "この動画に対して互換性のあるソースが見つかりませんでした"
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "재생",
"Pause": "일시중지",
"Current Time": "현재 시간",
"Duration Time": "지정 기간",
"Remaining Time": "남은 시간",
"Stream Type": "스트리밍 유형",
"LIVE": "라이브",
"Loaded": "로드됨",
"Progress": "진행",
"Fullscreen": "전체 화면",
"Non-Fullscreen": "전체 화면 해제",
"Mute": "음소거",
"Unmute": "음소거 해제",
"Playback Rate": "재생 비율",
"Subtitles": "서브타이틀",
"subtitles off": "서브타이틀 끄기",
"Captions": "자막",
"captions off": "자막 끄기",
"Chapters": "챕터",
"You aborted the media playback": "비디오 재생을 취소했습니다.",
"A network error caused the media download to fail part-way.": "네트워크 오류로 인하여 비디오 일부를 다운로드하지 못 했습니다.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "비디오를 로드할 수 없습니다. 서버 혹은 네트워크 오류 때문이거나 지원되지 않는 형식 때문일 수 있습니다.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "비디오 재생이 취소됐습니다. 비디오가 손상되었거나 비디오가 사용하는 기능을 브라우저에서 지원하지 않는 것 같습니다.",
"No compatible source was found for this media.": "비디오에 호환되지 않는 소스가 있습니다."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Spill",
"Pause": "Pause",
"Current Time": "Aktuell tid",
"Duration Time": "Varighet",
"Remaining Time": "Gjenstående tid",
"Stream Type": "Type strøm",
"LIVE": "DIREKTE",
"Loaded": "Lastet inn",
"Progress": "Status",
"Fullscreen": "Fullskjerm",
"Non-Fullscreen": "Lukk fullskjerm",
"Mute": "Lyd av",
"Unmute": "Lyd på",
"Playback Rate": "Avspillingsrate",
"Subtitles": "Undertekst på",
"subtitles off": "Undertekst av",
"Captions": "Undertekst for hørselshemmede på",
"captions off": "Undertekst for hørselshemmede av",
"Chapters": "Kapitler",
"You aborted the media playback": "Du avbrøt avspillingen.",
"A network error caused the media download to fail part-way.": "En nettverksfeil avbrøt nedlasting av videoen.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Videoen kunne ikke lastes ned, på grunn av nettverksfeil eller serverfeil, eller fordi formatet ikke er støttet.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Videoavspillingen ble avbrudt på grunn av ødelagte data eller fordi videoen ville gjøre noe som nettleseren din ikke har støtte for.",
"No compatible source was found for this media.": "Fant ikke en kompatibel kilde for dette mediainnholdet."
}
+37
Ver Arquivo
@@ -0,0 +1,37 @@
{
"Play": "Afspelen",
"Pause": "Pauze",
"Current Time": "Huidige tijd",
"Duration Time": "Looptijd",
"Remaining Time": "Resterende tijd",
"Stream Type": "Streamtype",
"LIVE": "LIVE",
"Loaded": "Geladen",
"Progress": "Status",
"Fullscreen": "Volledig scherm",
"Non-Fullscreen": "Geen volledig scherm",
"Mute": "Geluid uit",
"Unmute": "Geluid aan",
"Playback Rate": "Weergavesnelheid",
"Subtitles": "Ondertiteling",
"subtitles off": "ondertiteling uit",
"Captions": "Bijschriften",
"captions off": "bijschriften uit",
"Chapters": "Hoofdstukken",
"Descriptions": "Beschrijvingen",
"descriptions off": "beschrijvingen off",
"You aborted the media playback": "U hebt de mediaweergave afgebroken.",
"A network error caused the media download to fail part-way.": "De mediadownload is mislukt door een netwerkfout.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "De media kon niet worden geladen, vanwege een server- of netwerkfout of doordat het formaat niet wordt ondersteund.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "De mediaweergave is afgebroken vanwege beschadigde data of het mediabestand gebruikt functies die niet door uw browser worden ondersteund.",
"No compatible source was found for this media.": "Voor deze media is geen ondersteunde bron gevonden.",
"Play Video": "Video Afspelen",
"Close": "Sluiten",
"Modal Window": "Modal Venster",
"This is a modal window": "Dit is een modaal venster",
"This modal can be closed by pressing the Escape key or activating the close button.": "Dit modaal venster kan gesloten worden door op Escape te drukken of de 'sluiten' knop te activeren.",
", opens captions settings dialog": ", opent bijschriften instellingen venster",
", opens subtitles settings dialog": ", opent ondertiteling instellingen venster",
", opens descriptions settings dialog": ", opent beschrijvingen instellingen venster",
", selected": ", selected"
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Spel",
"Pause": "Pause",
"Current Time": "Aktuell tid",
"Duration Time": "Varigheit",
"Remaining Time": "Tid attende",
"Stream Type": "Type straum",
"LIVE": "DIREKTE",
"Loaded": "Lasta inn",
"Progress": "Status",
"Fullscreen": "Fullskjerm",
"Non-Fullscreen": "Stenga fullskjerm",
"Mute": "Ljod av",
"Unmute": "Ljod på",
"Playback Rate": "Avspelingsrate",
"Subtitles": "Teksting på",
"subtitles off": "Teksting av",
"Captions": "Teksting for høyrselshemma på",
"captions off": "Teksting for høyrselshemma av",
"Chapters": "Kapitel",
"You aborted the media playback": "Du avbraut avspelinga.",
"A network error caused the media download to fail part-way.": "Ein nettverksfeil avbraut nedlasting av videoen.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Videoen kunne ikkje lastas ned, på grunn av ein nettverksfeil eller serverfeil, eller av di formatet ikkje er stoda.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Videoavspelinga blei broten på grunn av øydelagde data eller av di videoen ville gjera noe som nettlesaren din ikkje stodar.",
"No compatible source was found for this media.": "Fant ikke en kompatibel kilde for dette mediainnholdet."
}
+34
Ver Arquivo
@@ -0,0 +1,34 @@
{
"Play": "Odtwarzaj",
"Pause": "Pauza",
"Current Time": "Aktualny czas",
"Duration Time": "Czas trwania",
"Remaining Time": "Pozostały czas",
"Stream Type": "Typ strumienia",
"LIVE": "NA ŻYWO",
"Loaded": "Załadowany",
"Progress": "Status",
"Fullscreen": "Pełny ekran",
"Non-Fullscreen": "Pełny ekran niedostępny",
"Mute": "Wyłącz dźwięk",
"Unmute": "Włącz dźwięk",
"Playback Rate": "Szybkość odtwarzania",
"Subtitles": "Napisy",
"subtitles off": "Napisy wyłączone",
"Captions": "Transkrypcja",
"captions off": "Transkrypcja wyłączona",
"Chapters": "Rozdziały",
"You aborted the media playback": "Odtwarzanie zostało przerwane",
"A network error caused the media download to fail part-way.": "Problemy z siecią spowodowały błąd przy pobieraniu materiału wideo.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Materiał wideo nie może być załadowany, ponieważ wystąpił problem z siecią lub format nie jest obsługiwany",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Odtwarzanie materiału wideo zostało przerwane z powodu uszkodzonego pliku wideo lub z powodu błędu funkcji, które nie są wspierane przez przeglądarkę.",
"No compatible source was found for this media.": "Dla tego materiału wideo nie znaleziono kompatybilnego źródła.",
"Play video": "Odtwarzaj wideo",
"Close": "Zamknij",
"Modal Window": "Okno Modala",
"This is a modal window": "To jest okno modala",
"This modal can be closed by pressing the Escape key or activating the close button.": "Ten modal możesz zamknąć naciskając przycisk Escape albo wybierając przycisk Zamknij.",
", opens captions settings dialog": ", otwiera okno dialogowe ustawień transkrypcji",
", opens subtitles settings dialog": ", otwiera okno dialogowe napisów",
", selected": ", zaznaczone"
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Tocar",
"Pause": "Pausar",
"Current Time": "Tempo",
"Duration Time": "Duração",
"Remaining Time": "Tempo Restante",
"Stream Type": "Tipo de Stream",
"LIVE": "AO VIVO",
"Loaded": "Carregado",
"Progress": "Progresso",
"Fullscreen": "Tela Cheia",
"Non-Fullscreen": "Tela Normal",
"Mute": "Mudo",
"Unmute": "Habilitar Som",
"Playback Rate": "Velocidade",
"Subtitles": "Legendas",
"subtitles off": "Sem Legendas",
"Captions": "Anotações",
"captions off": "Sem Anotações",
"Chapters": "Capítulos",
"You aborted the media playback": "Você parou a execução do vídeo.",
"A network error caused the media download to fail part-way.": "Um erro na rede fez o vídeo parar parcialmente.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "O vídeo não pode ser carregado, ou porque houve um problema com sua rede ou pelo formato do vídeo não ser suportado.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "A execução foi interrompida por um problema com o vídeo ou por seu navegador não dar suporte ao seu formato.",
"No compatible source was found for this media.": "Não foi encontrada fonte de vídeo compatível."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Воспроизвести",
"Pause": "Приостановить",
"Current Time": "Текущее время",
"Duration Time": "Продолжительность",
"Remaining Time": "Оставшееся время",
"Stream Type": "Тип потока",
"LIVE": "ОНЛАЙН",
"Loaded": "Загрузка",
"Progress": "Прогресс",
"Fullscreen": "Полноэкранный режим",
"Non-Fullscreen": "Неполноэкранный режим",
"Mute": "Без звука",
"Unmute": "Со звуком",
"Playback Rate": "Скорость воспроизведения",
"Subtitles": "Субтитры",
"subtitles off": "Субтитры выкл.",
"Captions": "Подписи",
"captions off": "Подписи выкл.",
"Chapters": "Главы",
"You aborted the media playback": "Вы прервали воспроизведение видео",
"A network error caused the media download to fail part-way.": "Ошибка сети вызвала сбой во время загрузки видео.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Невозможно загрузить видео из-за сетевого или серверного сбоя либо формат не поддерживается.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Воспроизведение видео было приостановлено из-за повреждения либо в связи с тем, что видео использует функции, неподдерживаемые вашим браузером.",
"No compatible source was found for this media.": "Совместимые источники для этого видео отсутствуют."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Pusti",
"Pause": "Pauza",
"Current Time": "Trenutno vrijeme",
"Duration Time": "Vrijeme trajanja",
"Remaining Time": "Preostalo vrijeme",
"Stream Type": "Način strimovanja",
"LIVE": "UŽIVO",
"Loaded": "Učitan",
"Progress": "Progres",
"Fullscreen": "Puni ekran",
"Non-Fullscreen": "Mali ekran",
"Mute": "Prigušen",
"Unmute": "Ne-prigušen",
"Playback Rate": "Stopa reprodukcije",
"Subtitles": "Podnaslov",
"subtitles off": "Podnaslov deaktiviran",
"Captions": "Titlovi",
"captions off": "Titlovi deaktivirani",
"Chapters": "Poglavlja",
"You aborted the media playback": "Isključili ste reprodukciju videa.",
"A network error caused the media download to fail part-way.": "Video se prestao preuzimati zbog greške na mreži.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Video se ne može reproducirati zbog servera, greške u mreži ili je format ne podržan.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Reprodukcija videa je zaustavljenja zbog greške u formatu ili zbog verzije vašeg pretraživača.",
"No compatible source was found for this media.": "Nije nađen nijedan kompatibilan izvor ovog videa."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Spela",
"Pause": "Pausa",
"Current Time": "Aktuell tid",
"Duration Time": "Total tid",
"Remaining Time": "Återstående tid",
"Stream Type": "Strömningstyp",
"LIVE": "LIVE",
"Loaded": "Laddad",
"Progress": "Förlopp",
"Fullscreen": "Fullskärm",
"Non-Fullscreen": "Ej fullskärm",
"Mute": "Ljud av",
"Unmute": "Ljud på",
"Playback Rate": "Uppspelningshastighet",
"Subtitles": "Text på",
"subtitles off": "Text av",
"Captions": "Text på",
"captions off": "Text av",
"Chapters": "Kapitel",
"You aborted the media playback": "Du har avbrutit videouppspelningen.",
"A network error caused the media download to fail part-way.": "Ett nätverksfel gjorde att nedladdningen av videon avbröts.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Det gick inte att ladda videon, antingen på grund av ett server- eller nätverksfel, eller för att formatet inte stöds.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Uppspelningen avbröts på grund av att videon är skadad, eller också för att videon använder funktioner som din webbläsare inte stöder.",
"No compatible source was found for this media.": "Det gick inte att hitta någon kompatibel källa för den här videon."
}
+34
Ver Arquivo
@@ -0,0 +1,34 @@
{
"Play": "Oynat",
"Pause": "Duraklat",
"Current Time": "Süre",
"Duration Time": "Toplam Süre",
"Remaining Time": "Kalan Süre",
"Stream Type": "Yayın Tipi",
"LIVE": "CANLI",
"Loaded": "Yüklendi",
"Progress": "Yükleniyor",
"Fullscreen": "Tam Ekran",
"Non-Fullscreen": "Küçük Ekran",
"Mute": "Ses Kapa",
"Unmute": "Ses Aç",
"Playback Rate": "Oynatma Hızı",
"Subtitles": "Altyazı",
"subtitles off": "Altyazı Kapalı",
"Captions": "Ek Açıklamalar",
"captions off": "Ek Açıklamalar Kapalı",
"Chapters": "Bölümler",
"You aborted the media playback": "Video oynatmayı iptal ettiniz",
"A network error caused the media download to fail part-way.": "Video indirilirken bağlantı sorunu oluştu.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Video oynatılamadı, ağ ya da sunucu hatası veya belirtilen format desteklenmiyor.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Tarayıcınız desteklemediği için videoda hata oluştu.",
"No compatible source was found for this media.": "Video için kaynak bulunamadı.",
"Play Video": "Videoyu Oynat",
"Close": "Kapat",
"Modal Window": "Modal Penceresi",
"This is a modal window": "Bu bir modal penceresidir",
"This modal can be closed by pressing the Escape key or activating the close button.": "Bu modal ESC tuşuna basarak ya da kapata tıklanarak kapatılabilir.",
", opens captions settings dialog": ", ek açıklama ayarları menüsünü açar",
", opens subtitles settings dialog": ", altyazı ayarları menüsünü açar",
", selected": ", seçildi"
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Відтворити",
"Pause": "Призупинити",
"Current Time": "Поточний час",
"Duration Time": "Тривалість",
"Remaining Time": "Час, що залишився",
"Stream Type": "Тип потоку",
"LIVE": "НАЖИВО",
"Loaded": "Завантаження",
"Progress": "Прогрес",
"Fullscreen": "Повноекранний режим",
"Non-Fullscreen": "Неповноекранний режим",
"Mute": "Без звуку",
"Unmute": "Зі звуком",
"Playback Rate": "Швидкість відтворення",
"Subtitles": "Субтитри",
"subtitles off": "Без субтитрів",
"Captions": "Підписи",
"captions off": "Без підписів",
"Chapters": "Розділи",
"You aborted the media playback": "Ви припинили відтворення відео",
"A network error caused the media download to fail part-way.": "Помилка мережі викликала збій під час завантаження відео.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Неможливо завантажити відео через мережевий чи серверний збій або формат не підтримується.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Відтворення відео було припинено через пошкодження або у зв'язку з тим, що відео використовує функції, які не підтримуються вашим браузером.",
"No compatible source was found for this media.": "Сумісні джерела для цього відео відсутні."
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
{
"Play": "Phát",
"Pause": "Tạm dừng",
"Current Time": "Thời gian hiện tại",
"Duration Time": "Độ dài",
"Remaining Time": "Thời gian còn lại",
"Stream Type": "Kiểu Stream",
"LIVE": "TRỰC TIẾP",
"Loaded": "Đã tải",
"Progress": "Tiến trình",
"Fullscreen": "Toàn màn hình",
"Non-Fullscreen": "Thoát toàn màn hình",
"Mute": "Tắt tiếng",
"Unmute": "Bật âm thanh",
"Playback Rate": "Tốc độ phát",
"Subtitles": "Phụ đề",
"subtitles off": "Tắt phụ đề",
"Captions": "Chú thích",
"captions off": "Tắt chú thích",
"Chapters": "Chương",
"You aborted the media playback": "Bạn đã hủy việc phát media.",
"A network error caused the media download to fail part-way.": "Một lỗi mạng dẫn đến việc tải media bị lỗi.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Video không tải được, mạng hay server có lỗi hoặc định dạng không được hỗ trợ.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Phát media đã bị hủy do một sai lỗi hoặc media sử dụng những tính năng trình duyệt không hỗ trợ.",
"No compatible source was found for this media.": "Không có nguồn tương thích cho media này."
}
+27
Ver Arquivo
@@ -0,0 +1,27 @@
{
"Play": "播放",
"Pause": "暂停",
"Current Time": "当前时间",
"Duration Time": "时长",
"Remaining Time": "剩余时间",
"Stream Type": "媒体流类型",
"LIVE": "直播",
"Loaded": "加载完毕",
"Progress": "进度",
"Fullscreen": "全屏",
"Non-Fullscreen": "退出全屏",
"Mute": "静音",
"Unmute": "取消静音",
"Playback Rate": "播放码率",
"Subtitles": "字幕",
"subtitles off": "字幕关闭",
"Captions": "内嵌字幕",
"captions off": "内嵌字幕关闭",
"Chapters": "节目段落",
"You aborted the media playback": "视频播放被终止",
"A network error caused the media download to fail part-way.": "网络错误导致视频下载中途失败。",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "视频因格式不支持或者服务器或网络的问题无法加载。",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "由于视频文件损坏或是该视频使用了你的浏览器不支持的功能,播放终止。",
"No compatible source was found for this media.": "无法找到此视频兼容的源。",
"The media is encrypted and we do not have the keys to decrypt it.": "视频已加密,无法解密。"
}
+28
Ver Arquivo
@@ -0,0 +1,28 @@
{
"Play": "播放",
"Pause": "暫停",
"Current Time": "目前時間",
"Duration Time": "總共時間",
"Remaining Time": "剩餘時間",
"Stream Type": "串流類型",
"LIVE": "直播",
"Loaded": "載入完畢",
"Progress": "進度",
"Fullscreen": "全螢幕",
"Non-Fullscreen": "退出全螢幕",
"Mute": "靜音",
"Unmute": "取消靜音",
"Playback Rate": " 播放速率",
"Subtitles": "字幕",
"subtitles off": "關閉字幕",
"Captions": "內嵌字幕",
"captions off": "關閉內嵌字幕",
"Chapters": "章節",
"You aborted the media playback": "影片播放已終止",
"A network error caused the media download to fail part-way.": "網路錯誤導致影片下載失敗。",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "影片因格式不支援或者伺服器或網路的問題無法載入。",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "由於影片檔案損毀或是該影片使用了您的瀏覽器不支援的功能,播放終止。",
"No compatible source was found for this media.": "無法找到相容此影片的來源。",
"The media is encrypted and we do not have the keys to decrypt it.": "影片已加密,無法解密。"
}
+84 -32
Ver Arquivo
@@ -1,52 +1,104 @@
{
"name": "video.js",
"description": "An HTML5 and Flash video player with a common API and skin for both.",
"version": "4.0.1",
"copyright": "Copyright 2013 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE",
"version": "5.11.9",
"copyright": "Copyright Brightcove, Inc. <https://www.brightcove.com/>",
"license": "Apache-2.0",
"keywords": [
"html5",
"flash",
"html5",
"player",
"video",
"player"
"videojs"
],
"homepage": "http://videojs.com",
"author": "Steve Heffernan",
"scripts": {
"test": "grunt test --verbose"
"test": "grunt test"
},
"repository": {
"type": "git",
"url": "https://github.com/zencoder/video-js.git"
"url": "https://github.com/videojs/video.js.git"
},
"main": "./dist/video.js",
"style": "./dist/video-js.css",
"dependencies": {
"global": "4.3.0",
"lodash-compat": "3.10.2",
"object.assign": "4.0.3",
"safe-json-parse": "4.0.0",
"tsml": "1.0.1",
"videojs-font": "2.0.0",
"videojs-ie8": "1.1.2",
"videojs-swf": "5.1.0",
"videojs-vtt.js": "0.12.1",
"xhr": "2.2.0"
},
"devDependencies": {
"grunt-cli": "~0.1.0",
"grunt": "~0.4.0",
"grunt-contrib-jshint": "~0.4.3",
"grunt-contrib-watch": "~0.1.4",
"grunt-contrib-qunit": "~0.2.1",
"calcdeps": "~0.1.7",
"babel": "^5.2.2",
"babelify": "^6.0.1",
"blanket": "^1.1.6",
"browserify-derequire": "^0.9.4",
"browserify-istanbul": "^0.2.1",
"browserify-versionify": "^1.0.4",
"chg": "^0.3.2",
"css": "^2.2.0",
"es5-shim": "^4.1.3",
"es6-shim": "^0.35.1",
"gkatsev-grunt-sass": "^1.1.1",
"grunt": "^0.4.4",
"grunt-aws-s3": "^0.12.1",
"grunt-banner": "^0.4.0",
"grunt-browserify": "3.5.1",
"grunt-cli": "~0.1.13",
"grunt-concurrent": "^1.0.0",
"grunt-contrib-clean": "~0.4.0a",
"grunt-contrib-copy": "~0.3.2",
"mocha": "~1.8.1",
"contribflow": "~0.2.0",
"grunt-s3": "~0.2.0-alpha",
"semver": "~1.1.4"
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-connect": "~0.7.1",
"grunt-contrib-copy": "^0.8.0",
"grunt-contrib-cssmin": "~0.6.0",
"grunt-contrib-jshint": "~0.11.3",
"grunt-contrib-less": "~0.6.4",
"grunt-contrib-uglify": "^2.0.0",
"grunt-contrib-watch": "~0.1.4",
"grunt-coveralls": "^1.0.0",
"grunt-exorcise": "^1.0.1",
"grunt-fastly": "^0.1.3",
"grunt-github-releaser": "^0.1.17",
"grunt-karma": "^2.0.0",
"grunt-shell": "^1.3.0",
"grunt-version": "~0.3.0",
"grunt-videojs-languages": "0.0.4",
"grunt-zip": "0.10.2",
"karma": "^1.2.0",
"karma-browserify": "^5.1.0",
"karma-browserstack-launcher": "^1.0.1",
"karma-chrome-launcher": "^1.0.1",
"karma-coverage": "^1.1.1",
"karma-detect-browsers": "^2.1.0",
"karma-firefox-launcher": "^1.0.0",
"karma-ie-launcher": "^1.0.0",
"karma-opera-launcher": "^1.0.0",
"karma-qunit": "^1.2.0",
"karma-safari-launcher": "^1.0.0",
"karma-sinon": "^1.0.5",
"load-grunt-tasks": "^3.1.0",
"proxyquireify": "^3.0.0",
"qunitjs": "^1.18.0",
"sinon": "^1.16.1",
"time-grunt": "^1.1.1",
"uglify-js": "~2.3.6",
"videojs-doc-generator": "0.0.1"
},
"testling": {
"browsers": [
"ie6",
"ie7",
"ie8",
"ie9",
"firefox/15",
"chrome/22",
"opera/12",
"safari/5.1"
],
"harness": "mocha-qunit",
"scripts": [
"src/js/*.js",
"test/unit/*.js"
"standard": {
"ignore": [
"**/Gruntfile.js",
"**/build/**",
"**/dist/**",
"**/docs/**",
"**/lang/**",
"**/sandbox/**",
"**/test/**"
]
}
}
+43
Ver Arquivo
@@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Video.js Text Descriptions, Chapters &amp; Captions Example</title>
<!-- Add ES5 shim and sham for IE8 -->
<script src="../build/temp/ie8/videojs-ie8.js"></script>
<!-- Load the source files -->
<link href="../build/temp/video-js.css" rel="stylesheet" type="text/css">
<script src="../build/temp/video.js"></script>
<!-- Set the location of the flash SWF -->
<script>
videojs.options.flash.swf = '../build/temp/video-js.swf';
</script>
</head>
<body>
<!-- NOTE: we have to disable native Text Track support for the HTML5 tech,
since even HTML5 video players with native Text Track support
don't currently support 'description' text tracks in any
useful way! -->
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="360"
data-setup='{ "html5" : { "nativeTextTracks" : false } }'>
<source src="https://archive.org/download/ElephantsDream/ed_hd.mp4" type="video/mp4">
<source src="https://archive.org/download/ElephantsDream/ed_hd.ogv" type="video/ogv">
<track kind="captions" src="../docs/examples/elephantsdream/captions.en.vtt" srclang="en" label="English" default></track><!-- Tracks need an ending tag thanks to IE9 -->
<track kind="captions" src="../docs/examples/elephantsdream/captions.sv.vtt" srclang="sv" label="Swedish"></track>
<track kind="captions" src="../docs/examples/elephantsdream/captions.ru.vtt" srclang="ru" label="Russian"></track>
<track kind="captions" src="../docs/examples/elephantsdream/captions.ja.vtt" srclang="ja" label="Japanese"></track>
<track kind="captions" src="../docs/examples/elephantsdream/captions.ar.vtt" srclang="ar" label="Arabic"></track>
<track kind="descriptions" src="../docs/examples/elephantsdream/descriptions.en.vtt" srclang="en" label="English"></track>
<track kind="chapters" src="../docs/examples/elephantsdream/chapters.en.vtt" srclang="en" label="English"></track>
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>
</body>
</html>

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais