1
0
mirror of https://github.com/videojs/video.js.git synced 2024-12-04 10:34:51 +02:00
Commit Graph

3097 Commits

Author SHA1 Message Date
axten
d0b03a3a0f fix: wait till play event to listen for user activity (#5093)
There is no need to listen for user activity until a play is requested on the player and it just adds an extra timer for a player that hasn't started playing yet. Instead, just wait till the first `play` event.

Closes #5076.
2018-04-19 11:57:32 -04:00
Chuck Wilson
a2851fe4bd feat: Queue playback events when the playback rate is zero and we are seeking (#5024)
SourceHandlers that use MSE have a problem: if they push a segment into a SourceBuffer and then seek close to the end, playback will stall and/or there will be a massive downswitch in quality. The general approach to fixing this that was discussed on slack was by setting the playback rate of the player to zero, buffering all that was required, and then restoring the previous playback rate. In my implementation, I've done this in the source handler (see: videojs/videojs-contrib-hls#1374).

From the video.js perspective, it should ensure that the UI reflects the buffering status and that the player API behaves like you'd expect -- that is to say, that it will fire seeking immediately after a call to currentTime, and it will fire seeked, canplay, canplaythrough, and playing when everything is buffered.
2018-04-17 15:28:35 -04:00
Thijs Triemstra
62c1477615 docs(guides): add debugging section to index (#5100) 2018-04-17 14:48:04 -04:00
Thijs Triemstra
4399bdce5d docs(debugging): fix markup typo (#5086) 2018-04-11 11:39:33 -04:00
greenkeeper[bot]
66d7545538 fix(package): update videojs-vtt.js to version 0.14.1 🚀 (#5085) 2018-04-11 11:39:05 -04:00
Joe Forbes
c98912fd92 feat: build alternate browser scripts without VHS (#5077)
output alt/video.core.js and alt/video.core.novtt.js files
2018-04-10 14:31:18 -04:00
Gary Katsevman
c2b5ade109
chore(package): remove npm-run dev dep as it's no longer used (#5084) 2018-04-10 11:11:28 -04:00
Thijs Triemstra
bec7f67c4a docs(languages): Use valid JSON in translation example (#5080) 2018-04-10 11:11:04 -04:00
greenkeeper[bot]
12095fb050 fix(package): update @videojs/http-streaming to version 1.0.0 🚀 (#5083) 2018-04-10 10:35:16 -04:00
Mayde
064c1be2ba docs: fix some misspellings (#5082) 2018-04-10 10:34:20 -04:00
Mayde
7da77661fc docs: fix more misspellings (#5067) 2018-04-04 15:50:55 -04:00
Dragoș Străinu
167b7d874c docs: update readme to use the latest version of vjs (#5073)
Close #5066
2018-04-04 11:26:58 -04:00
Gary Katsevman
4e79a04579
chore(first-timers-bot): fix slack url in template 2018-04-03 10:47:36 -04:00
Gary Katsevman
9612c8f870
chore(first-timers-bot): correct the path to template file 2018-04-02 17:02:08 -04:00
Gary Katsevman
edb257c544
chore(first-timers-bot): quote repository option 2018-04-02 16:58:00 -04:00
Gary Katsevman
81de856b05
chore(first-timers-bot): add repo to bot options 2018-04-02 16:21:53 -04:00
Brandon Casey
9eb5de7ec7 fix: fire sourceset on initial source append (#5038)
In Chrome/Firefox/Safari appending a <source> element when the media element has no source, causes what we think of as a `sourceset`. These changes make our code actual fire that event.
2018-04-02 16:06:47 -04:00
Brandon Casey
fdcae1b469 fix: let the tech preload auto on its own (#4861)
This was found due to the work done in #4660. Basically we reload the video element twice on every source with preload set to auto. This can potentially cause the same data to be downloaded twice.
2018-04-02 14:30:22 -04:00
greenkeeper[bot]
11b4d5de9f fix(package): update @videojs/http-streaming to version 0.9.0 🚀 (#5064) 2018-04-02 14:23:34 -04:00
Gary Katsevman
c3a4bfdb65 7.0.0-alpha.1 2018-03-30 14:16:56 -04:00
Gary Katsevman
da32d48f46 ignore: update package-lock 2018-03-30 14:16:51 -04:00
Joe Forbes
d1b4768b05 feat: built-in HLS playback support (#5057)
This PR is to add HLS playback support built into video.js for 7.0 via videojs-http-streaming (shorthand VHS). VHS is the next major version of videojs-contrib-hls that removes HLS Flash playback and includes some experimental DASH support (hence the rename). The purpose is to improve the out-of-the-box experience for video.js and allow cross browser HLS compatibility.

The proposed changes are to have the standard video.js browser and module scripts contain VHS and provide an alternate video.js browser script that does not contain VHS.

A video.js/core export is provided for importing without VHS.
2018-03-30 14:01:16 -04:00
Gerard L. Petersen
228484befc fix(time-display): Use formatTime for a consistent default instead of hardcoded string (#5055)
This is especially useful if a custom format time is being used.
2018-03-29 17:14:27 -04:00
Mayde
96987f8d0a docs(tech): fix misspellings (#5059) 2018-03-29 15:28:36 -04:00
Mayde
4d3331e3be docs(text-track): fix misspellings (#5058) 2018-03-29 15:27:36 -04:00
Mayde
378d98ee87 docs(time-ranges): fix misspellings (#5046) 2018-03-26 10:58:07 -04:00
Gary Katsevman
44312bc060
chore(test): upgrade qunit and karma-qunit to latest (#5051)
Since we no longer support IE8, we can actually update our qunit version.
2018-03-26 10:40:59 -04:00
Joe Forbes
3798446f84 test: update karma browser OS versions (#5050) 2018-03-23 20:06:57 -04:00
Brandon Casey
1cb67ab9c9
refactor: move sourceset code out of tech (#5037) 2018-03-23 13:51:47 -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
Gary Katsevman
0a20d65c04
test: no longer test on IE8, IE9, or IE10 (#5032) 2018-03-19 17:14:56 -04:00
Gary Katsevman
874779402c 6.8.0 2018-03-19 14:50:48 -04:00
Gary Katsevman
9519740ea7 chore: update package-lock.json 2018-03-19 14:50:34 -04:00
Gary Katsevman
1b3c827d5e
feat: require enableSourceset option for event (#5031)
While sourceset is experimental, require the option `enableSourceset`.
This can easily be reversed in a minor update.
2018-03-19 13:47:45 -04:00
Mayde
d7f45bab89 docs(time-ranges): fix wrong comment for getRange function (#5026) 2018-03-16 10:58:37 -04:00
Mayde
bd6b31c48b docs(time-ranges): fix misspellings (#5025) 2018-03-16 10:57:07 -04:00
Gary Katsevman
46d8b37385
fix(sourceset): set evt.src to empty string or src attr from load (#5016)
If .load() is called, we don't know what the new source will be because of the asynchronous nature of the resource selection algorithm. However, we can know if the src attribute is set on the video element because that's what will be chosen. So, set the src property on the event object to be the src attribute or be the empty string. This matches how currentSrc works where it is an empty string when no source is set. So, when sourceset is triggered and src is "" in the event object, it means that the source is changing.
In addition, we're going to be releasing sourceset as an experimental feature so we could improve the API and make changes in minor releases.
2018-03-15 15:05:41 -04:00
Gary Katsevman
4e83cd3e3f
test(ResizeManager): only listen for one playerresize to make test not flaky (#5022) 2018-03-15 11:16:42 -04:00
Mayde
ebbe86812b docs(component): fix misspelllings (#5019) 2018-03-15 10:18:48 -04:00
Mayde
1532df32fb docs(component): fix misspellings (#5017) 2018-03-15 10:18:22 -04:00
Gary Katsevman
8d86afdb75
revert: Revert "fix: force autoplay in Chrome (#4804)" (#5009)
This reverts commit 6fe7a9a.

The PR #4804, which fixes #4720, causes a regression #5005. When testing for the regression, the original issue is no longer reproducible so the fix should be backed out. If someone is still using the old version of chrome and seeing the behavior of #4720, they can continue using the versions of Video.js that contain the fixed made in #4804: 6.5.2, 6.6x, 6.7.x.

Fixes #5005.
2018-03-13 16:01:18 -04:00
Kevin Reynolds
d2f63ad364 feat: Use CSS grid for Caption Settings dialog to begin making it more responsive (#4997)
If CSS Grid is available, the Captions Settings Dialog will use it for the layout to begin making it more responsive.
It will fallback to the current layout method if CSS Grid isn't available.
2018-03-13 15:17:18 -04:00
Mayde
e833d3e3de chore(dom.js): Fix misspellings (#5008) 2018-03-13 12:04:18 -04:00
Viktor S
ba6a71eb01 fix: don't add captions settings menu item when TextTrackSettings is disabled (#5002)
Removes the CaptionsSettingsMenuItem when TextTrackSettings is not included.

Fixes #4996
2018-03-13 12:03:39 -04:00
Gary Katsevman
43b5a6dc5f
chore: make sure first-timers bot uses our template (#5001) 2018-03-12 13:36:20 -04:00
twosmalltrees
2f96914b8e feat(format time): add setFormatTime for overriding the time format (#4962)
Add setFormatTime for Video.js to allow users to change the time format. Example usage:

```js
videojs.setFormatTime((seconds, guide) => `${seconds}, ${guide}`));
```

Add resetFormatTime to reset the time format to the default.

Fixes #2931
2018-03-07 14:37:10 -05:00
David GG
62ff3f66a5 feat: add mimetype type to source object when possible (#4469) (#4947)
File mimetype is filled when the file extension is known and type is not provided.

Fixes #4469, improves #4851.
2018-03-07 14:34:16 -05: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
Brandon Casey
df96a74f6b feat: sourceset event (#4660)
Trigger a sourceset event whenever the source is set in the Html5 tech, including initial source. We override the video element's src and setAttribute methods so that we can trigger the sourceset event when people change the src with both the video element and our API methods.
The event object for sourceset will contain the src string that was provided at the time the sourceset was triggered. This is mostly important if a source is being set while a tech is changing.
A Tech has a featuresSourceset option that it can set to for sourceset handling. It can then call the helper triggerSourceset(src) to trigger the sourceset.
2018-03-07 14:28:37 -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