1
0
mirror of https://github.com/videojs/video.js.git synced 2025-01-08 07:00:10 +02:00
Commit Graph

204 Commits

Author SHA1 Message Date
mister-ben
76cc310dac docs: Update format information (#5783) 2019-02-11 14:03:30 -05:00
Owen Edwards
e8909231bd feat(player): add option to disable or override double-click handling. (#5611)
`userActions.doubleClick` can be set to false to disable double click to fullscreen. Can be set to a function to override behavior.

Fixes #5604.
2019-01-25 14:18:33 -05:00
Owen Edwards
61053bf674 feat: add hotkeys support ("m", "f", "k", and Space) (#5571)
Extend keyboard support for the SeekBar, and pass unhandled keydown events from components back to the player.
Switch from raw keycodes to the keycode module.

Using `userActions.hotkeys`, which can either be a function to match the hotkeys plugin, or an object with properties like `fullscreenKey`, see the documentation for more info.

This is currently off by default, we will consider turning it on by default in the future, see #5765.

Fixes #4048, fixes #3022.
2019-01-25 14:10:29 -05:00
Brandon Casey
c1475819b2 docs(liveui): Add a guide for the live ui and live api (#5677)
Add documentation of the new line ui feature.
2018-12-18 11:12:12 -05:00
Brandon Casey
dce4a2c7d4 fix(liveui): make edge detection less strict, add docs for option (#5661)
Use double the seekable increment for live edge detection.
Add liveui option.
2018-12-10 14:13:56 -05:00
Gary Katsevman
62f9e78cf2
docs: remove grunt and update usage of build scripts (#5656) 2018-12-05 16:12:21 -05:00
Gary Katsevman
287b267305
docs: update starter template (#5570)
Use a codepen template for the starter template that includes the latest version of Video.js.

The template is at https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0

Fixes #5562
2018-11-14 13:45:20 -05:00
Grzegorz Blaszczyk
f1784587f6 feat: add 'replay' option to the PlayToggle component. (#5531)
The `PlayToggle` has one option `replay` which can show or hide replay icon. This can be set by passing `{replay: false}` as the default behavior replay icon is shown after video end playback.

Example of how to hide a replay icon
 ```js
let player = videojs('myplayer', {
  controlBar: {
    playToggle: {
      replay: false
    }
  }
});
```

Fixes #4802
2018-11-02 16:47:52 -04:00
Pat O'Neill
6df3ac78d4 feat: Add responsive option, which enables breakpoints support. (#5496)
Follow-up for #5471

This makes the breakpoints option and `breakpoints()` method clearer and introduces the responsive option and `responsive()` method, which will turn on the breakpoints.

The return value of `currentBreakpoint()` was simplified to only ever return a string (empty if none).

Also, added convenience methods: `responsive()`, `getBreakpointClass()`, and `currentBreakpointClass()`.
2018-10-11 17:03:33 -04:00
Pat O'Neill
51bd49f4bc feat: Add breakpoints option to support toggling classes based on player width. (#5471)
This adds a breakpoints option. By default, this option is false meaning this is an opt-in feature.

When passing true, it will use a default set of breakpoints. Or custom breakpoints can be passed if users do not like our breakpoints (or previously-existing style decisions).

- Add breakpoints option.
- Adds some new (currently unused) classes: vjs-layout-medium, vjs-layout-large, vjs-layout-x-large, and vjs-layout-huge.
- Add updateCurrentBreakpoint and currentBreakpoint methods to the player.
- Update css/components/_adaptive.scss
- Add sandbox/responsive.html.example

Closes videojs/video.js#4371
2018-10-10 15:30:20 -04:00
Gary Katsevman
794cd71682
docs(fixup): fixup docs (#5489) 2018-10-10 11:09:53 -04:00
Gary Katsevman
2e72fc3dec
docs(layout): document fluid and fill mode (#5481) 2018-10-05 15:28:19 -04:00
Gary Katsevman
966eb56c02
feat: createLogger for easier logging in individual modules (#5418)
Create a new createLogger module for better debugging. Each logger has its own log level and its own createLogger that will nest logs underneath them. `player.log` is also included, which logs the player id as part of the log statement. The history API also got a filter method.

For example:
```js
var log = videojs.log.createLogger('foo');
log('hello');
// > VIDEOJS: foo: hello
```
2018-09-28 16:52:58 -04:00
Gary Katsevman
9c00267728
chore(https): update a lot of links to be https (#5372) 2018-08-10 15:13:32 -04:00
Gary Katsevman
781a6d87c6
feat(middleware): make setSource be optional (#5295)
setSource is useful if you care to be fiddling with the source or doing some work depending on what source is set. However, sometimes, you don't need a setSource and want the middleware to always be selected.
Now, if setSource is missing, it will implicitly be included in the middleware chain.
2018-07-06 14:16:16 -04:00
Brandon Casey
e8e4fe2745 feat(autoplay): extend autoplay option for greater good (#5209)
This PR extends the `autoplay` to the player with a few options that should hopefully make working with browsers that disable unmuted autoplay by default easier.
The current boolean option will match current behavior and any unknown option will be treated as it does now. The new options are the string values `muted`, `play`, and `any`.

- `muted` will mute the element and call `play()` on `loadstart`,
- `play` will call `play()` on `loadstart()`, this is similar to the `autoplay` attribute
- `any` will call `play()` on `loadstart()` but if it fails it will try muting the video and calling `play()` again.
2018-06-21 14:32:07 -04:00
Owen Edwards
0aa827fac5 fix(time-display): restore hidden label text for screen readers. (#5157)
Restore hidden label text for screen readers that describes what the button control does.

Renames the Duration Time language item to Duration.

Deprecate controlText_ property.

Fix a typo in translations-needed.md.

Add a space in the hidden label for live-display, so that it doesn't run together with the visible "LIVE" indication.

Fixes #5135
2018-05-11 14:34:33 -04:00
axten
d44682849e feat: add 'autoSetup' option (#5123)
this must be set globally with videojs.options.autoSetup = false in the same tick as videojs source is loaded to take effect

fixes #5094
2018-05-11 13:53:46 -04:00
Thijs Triemstra
4399bdce5d docs(debugging): fix markup typo (#5086) 2018-04-11 11:39:33 -04:00
Thijs Triemstra
bec7f67c4a docs(languages): Use valid JSON in translation example (#5080) 2018-04-10 11:11:04 -04:00
Mayde
064c1be2ba docs: fix some misspellings (#5082) 2018-04-10 10:34:20 -04:00
Gary Katsevman
bc2da7c67b
refactor: remove IE8 specific changes (#5041)
BREAKING CHANGE: remove IE8, IE9, and IE10 specific JavaScript and CSS code. Remove Android 2.3 workaround.
2018-03-23 13:25:12 -04:00
Michael Vogel
8706941573 feat: Allow techs to change poster if player option techCanOverridePoster is set (#4921)
The option for the player techCanOverridePoster is introduced in this commit. It allows techs to update the post whenever they like. isPosterFromTech_ is introduced as a private player field in order to track when a poster was set by a tech. This allows us to clear the poster whenever the tech is disposed of by the player.

Additionally, attempting to set the same poster more than once will have no effect / no changes will be made, since the poster is the same. This was done in order to stop triggering multiple posterchange events when calling player.poster(aPoster) with techCanOverridePoster set to true.

When a tech is disposed and a poster was set by it, unset the poster.

Pass a `canOverridePoster` option to techs to know whether techCanOverridePoster was set.

Fixes #4910.
2018-03-07 14:31:50 -05:00
Edward Hummerston
1fa9dfbee2 docs(react guide): update guide to prevent memory leaks when components are disposed of (#4998)
When a component is disposed of, without calling ReactDOM.unmountComponentAtNode() on the data-reactroot in the destroyed component, the React.Component and videojs.Component (here EpisodeList and vjsEpisodeList) remain in memory.

The videojs.Component should listen for its dispose event and unmount its React root in the corresponding React.Component.
2018-03-07 12:09:06 -05:00
jessicaweberdev
763a7f5762 docs(plugins guide): changed paused to pause where appropriate (#4957)
Fixes #4951
2018-02-14 13:43:55 -05:00
Zhulduz
7c30f97ef7 docs(react): Update docs for react tutorial (#4935) (#4952)
Using the default example, when disposing the player, a React DOMException was thrown because Video.js removed an element managed by React.
A simple solution is to wrap the player div in a separate div.

Fixes #4935.
2018-02-13 13:55:09 -05:00
ldayananda
a434551555 docs(middleware): update the middleware guide with setTech and other corrections (#4926) 2018-02-12 18:55:08 -05:00
Ku Lok Sun
4afabc2b0e docs: Fix the advance plugin example in documentation (#4923) 2018-02-09 14:16:18 -05:00
Gary Katsevman
9ceb4e4fe0
feat: playerresize event in all cases (#4864)
Use ResizeObserver when available for better and more performant resizing information, otherwise, fall back to a throttled resize event on an iframe that's the size of the player.
Allows a video.js user to disable this by setting resizeManager: false as an option since the component will not be initialized.

Add a debounce util.

This reverts #4800 (e0ed0b5) because we end up getting two playerresize events with the dimension methods now.
2018-01-30 13:26:21 -05:00
ldayananda
bf3eb45a37 feat: add mediator middleware type for play() (#4868)
This will allow middleware to interact with calls to play() from the tech. This will require a method of indicating to middleware previously run that a middleware down the chain has terminated or stopped execution.

* Adds middleware mediator method that runs middleware from the player to the tech and a second time back up to the player. This category was created because play is both a setter(changes the playback state) and a getter(gets a native play promise if available). This also has the ability to tell whether a middleware has terminated before reaching the tech.
* Adds a middleware.TERMINATOR sentinel value that is available on the videojs object
* Adds play to the allowedMediators
* Adds paused to the allowedGetters
* Adds a sandbox example of a play mediator middleware
2018-01-30 11:30:42 -05:00
Pat O'Neill
a15e616a45 feat: Add getPlayer method to Video.js. (#4836) 2018-01-30 11:19:06 -05:00
ldayananda
673c231684
docs: add middleware guide (#4877)
* adding guide content

* fix link

* CR comments

* fixing a typo

* fixing example
2018-01-23 15:36:49 -05:00
Thijs Triemstra
83880b0f0b docs: fix some typos (#4880) 2018-01-22 17:07:05 -05:00
Chuong
7c393e5c89 docs: wait for text track load with addRemoteTextTrack (#4855) 2018-01-05 14:45:48 -05:00
Garrett Singer
ba0f20ec35 feat: add support for debug logging (#4780)
Adds support for `debug` as an available logging method under `videojs.log`
Changes the default log level from `all` to `info`
2017-12-14 17:31:51 -05:00
Thijs Triemstra
1672a6df35 docs: clarify text tracks are meant for any usage of Video.js, both video and audio (#4790) 2017-12-04 17:44:09 -05:00
Gary Katsevman
d8aadd5bee
feat: allow embeds via <video-js> element (#4640)
Add the ability to initialize Video.js with an element named video-js. This is because sometimes, seeing the native element is undesirable, plus, it's cool to have our own element.
Can be used just like the video embed.
IE9 is supported but only with dynamic sources as the source element can only be used inside of the video element.
2017-11-13 14:20:05 -05:00
Pat O'Neill
85fe685696 feat: Add videojs.hookOnce method to allow single-run hooks. (#4672) 2017-10-30 17:56:21 -04:00
TaeSoo 태수
6738f765da docs(hooks): Fix Typo (#4652) 2017-10-06 18:01:54 -07:00
Thijs Triemstra
85a34d1b49 docs: Document how to add a version number to a plugin (#4642) 2017-10-04 10:32:18 -04:00
Thijs Triemstra
d8ea23e0c9 docs: update player reference in advanced plugins doc (#4622) 2017-09-20 10:55:29 -04:00
Erik Demaine
9d249bb23b docs: Document playbackRates (#4602) 2017-09-19 17:44:36 -04:00
mister-ben
1f3375e485 docs: updates to faq, language guide, and minor edits (#4556) 2017-08-14 17:02:48 -04:00
Caley Shem-Crumrine
97021554cd docs: Update name of FullscreenToggle in documentation (#4410) 2017-06-27 09:52:05 +10:00
Pat O'Neill
0a19cf0d6a feat: Add 'beforepluginsetup' event and named plugin setup events (e.g. 'pluginsetup:foo') (#4255)
This adds a beforepluginsetup event as well as beforepluginsetup:$name and pluginsetup:$name events.

The drive behind this is improving the ability for people to make cross-plugin dependencies in a more robust manner.
2017-05-11 17:13:22 -04:00
Dave Kiss
cff2e503ef docs(react-guide): Use a React component as a VJS component (#4287) 2017-05-11 16:33:28 -04:00
Aaron Chamberlain
230743ecb1 docs: add a Webpack usage guide (#4261) 2017-04-12 18:16:41 -04:00
Garrett
39fd73f781 docs: remove mentions of bower support (#4274)
Since video.js 6 no longer officially supports bower (#4012), remove some old mentions in the docs of bower.
2017-04-12 18:15:54 -04:00
Alex Barstow
02721c7c03 docs(component): Replace VolumeMenuButton with VolumePanel in component tree (#4267)
Video.js 6 has switch to using the VolumePanel instead of the VolumeMenuButton.

Fixes #4266
2017-04-07 13:39:57 -04:00
Brandon Casey
61e20786a9 docs: fix links in generated docs (#4200) 2017-03-21 17:13:06 -04:00
Brandon Casey
41be5dca4e docs: tech order will only have html5 by default (#4188) 2017-03-13 11:53:30 -04:00
mister-ben
1cb0a97b0b fix: Do not create element for MediaLoader (#4097)
MediaLoader has a div that's unnecessary. See #4070. Also, make sure that Component#dispose does a null check for the element.
2017-02-21 15:50:52 -05:00
mister-ben
65dc81a4e1 docs: Add MediaLoader to components list (#4070) 2017-02-15 15:30:03 -05:00
Davy Tran
7ab52d1a59 docs: replace 'autoPlay' by 'autoplay' (#4080)
Fix #3995
2017-02-14 10:41:58 -05:00
Prayag Verma
2433915c64 docs(guides): fix typos in faq guide (#4067)
offical > official
2017-02-12 11:39:31 -05:00
mister-ben
0fc2c1c7a4 docs(guides): fix typos in functions guide (#4035) 2017-02-06 14:41:57 -05:00
Julien Bouquillon
05b39fe281 docs(guides): Add a basic ReactJS guide and update the FAQ (#3972) 2017-01-26 16:16:52 -05:00
Pat O'Neill
7b0d738e8f docs(guide): Add a ModalDialog guide (#3961) 2017-01-25 17:27:01 -05:00
Gary Katsevman
e642295468 docs(jsdoc): introduce a jsdoc template and build on publish (#3910)
Use the TUI JSDoc Template to generate the jsdoc files. Also, build this out on publish.
2017-01-24 11:26:39 -05:00
Brandon Casey
de3945db15 docs: ran npm run docs:fix to update TOC on guides (#3971) 2017-01-23 16:26:04 -05:00
Brandon Casey
524f868e31 feat(volume panel): accessibly volume control (#3957)
Internally uses the VolumeControl and MuteToggle components to create the VolumePanel component. Acts like the old VolumeMenuButton but does not have the screen reader issues of the older version.

BREAKING CHANGE: remove VolumeMenuButton, introduce a new default volume control: VolumePanel.
2017-01-19 15:54:47 -05:00
Pat O'Neill
1ba1f5aabd feat: Time Tooltips (#3836)
Switch to `keepTooltipsInside` by default and simplify DOM structure around the time tooltips and progress control.

BREAKING CHANGE: removal of `keepTooltipsInside` option.
2017-01-19 15:30:47 -05:00
Pat O'Neill
8d1653aebc feat: Advanced Class-based Plugins for 6.0 (#3690) 2017-01-18 01:52:23 -05:00
Pat O'Neill
844e4f0107 feat: Log Levels (#3853)
Add a log levels and history api: `videojs.log.level()` and `videojs.log.history()`.
`.level()` will return the current level and you can also set it to be one of: `all`, `error`, `off`, or `warn`.
`.history()` will return a list of all things logged since videojs loaded. It can be disabled via `videojs.log.history.disable()` (and re-enabled with `enable()`) as well as cleared with `videojs.log.history.clear()`.
2017-01-18 00:35:42 -05:00
Gary Katsevman
26789e7470 chore(faq): move FAQ and troubleshooting guide to docs/ (#3883) 2016-12-20 18:21:18 -05:00
Brandon Casey
642ad4b5cf docs: move examples out of code into docs 2016-12-20 18:20:31 -05:00
Brandon Casey
0493f54d6f chore(docs): Documentation Linting and TOC generation (#3841)
Use remark to lint and generate TOC for markdown files.
2016-12-20 16:55:59 -05:00
Brandon Casey
54ff1f97b8 docs: add a troubleshooting guide (#3814) 2016-12-02 15:39:35 -05:00
Brandon Casey
1d5562d656 docs(FAQ): add an faq (#3805) 2016-12-02 15:24:33 -05:00
Pat O'Neill
d24fe409e8 docs(guides): Manual Documentation Improvements (#3703) 2016-12-02 14:27:59 -05:00
Chuong
c5d1152456 docs: fix typo, extends -> extend (#3789) 2016-11-23 13:56:03 -05:00
Brandon Casey
77357b1cd2 feat: implement player lifecycle hooks and trigger beforesetup/setup hooks (#3639)
Allows you to hook into `beforesetup` and `setup` hooks for all players that are created by videojs.
2016-11-04 14:25:32 -04:00
Hein Haraldson Berg
66922a818e docs(tech.md): Add a note on Flash permissions in sandboxed environments (#3684) 2016-10-18 14:45:15 -04:00
Curtis Gibby
16c855931b docs(options.md): Remove Bad Apostrophe (#3677)
A possessive belonging to an "it" doesn't need an apostrophe. Don't believe me? Ask [the Oatmeal](http://theoatmeal.com/comics/apostrophe) (look for the velociraptor)!
2016-10-18 14:43:25 -04:00
Piotr
86f0830502 chore: move metadata to hidden folder and update references
ISSUE_TEMPLATE and PULL_REQUEST_TEMPLATE were both moved to a .github/ folder to clean up the root of the project a bit. CONTRIBUTING.md was kept at the top level because it is generic enough and contains useful information.
2016-09-28 18:17:18 -04:00
mister-ben
94f22bb995 @mister-ben added task to maintain translations. closes #3572 2016-08-25 15:49:40 -04:00
brandonocasey
1bb40b8d14 @BrandonOCasey updated language docs to link to IANA language registry. closes #3493 2016-08-11 18:09:48 -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
Vineet
c51c19ae88 @vdeshpande updated control text of modal dialog. closes #3400 2016-07-18 14:41:33 -04: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
18cdf08c0e @gkatsev updated text track documentation and crossorigin warning. Fixes #1888, #1958, #2628, #3202. closes #3256 2016-04-20 15:46:49 -04:00
Michael Gallaspy
e183194224 @MCGallaspy added vttjs to the self-hosting guide. closes #3229 2016-04-05 13:42:18 -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
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
mister-ben
e12ca69306 @mister-ben Added en.json as localization template. closes #3096 2016-02-19 12:18:27 -05:00
mister-ben
29f66acb98 @mister-ben updated Umuted to Unmute in lang files. closes #3053 2016-02-03 16:15:16 -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
Vitor Faiante
9cdfb75187 @vitor-faiante updated the guides. closes #2781 2016-01-25 19:50:02 -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
rcrooks
0f219b1f1d @rcrooks fixed some broken links in guides. closes #2965 2016-01-07 23:08:12 -05:00
Derk-Jan Hartman
09f182db60 @hartman updated options guide doc. closes #2908 2015-12-15 14:43:30 -05:00
Matthew McClure
4cb14eb420 Update plugin documentation to reflect icon usage 2015-12-10 10:38:49 -08:00
Pat O&#x27;Neill
f225d4e68a @misteroneill updated videojs-ie8 to 1.1.1. closes #2869 2015-12-07 16:24:18 -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
655e14a733 @forbesjo Added Microsoft Caption Maker link. closes #2618 2015-10-28 16:14:44 -04:00
Dave Voyles
5f5357d535 @DaveVoyles updated URL to player API docs. closes #2685 2015-10-28 15:59:32 -04:00
heff
1d79c4a9e2 @heff changed component child lists to arrays instead of objects. closes #2477 2015-09-28 15:17:48 -07:00
Matthew McClure
473861ba38 Removed Microsoft Caption Maker dead link 2015-08-27 12:46:12 -07:00