Members

(constant) LOCAL_STORAGE_KEY

(constant) STEP_SECONDS

(constant) TECH_EVENTS_RETRIGGER

(constant) darkGray

(constant) defaults

(constant) findMimetype

Find the mime type of a given source string if possible. Uses the player source cache.

(constant) getMimetype

Get the mimetype of a given src url if possible

(constant) innerHTMLDescriptorPolyfill

our implementation of an innerHTML descriptor for browsers that do not have one.

(constant) srcDescriptorPolyfill

our implementation of a src descriptor for browsers that do not have one

Methods

constructColor(color, opacity) → {string}

Construct an rgba color from a given hex color code.

Parameters:
NameTypeDescription
colornumber

Hex number for color, like #f0e or #f604e2.

opacitynumber

Value for opacity, 0.0 - 1.0.

Returns:

The rgba color that was created, like 'rgba(255, 0, 0, 0.3)'.

Type: 
string

firstSourceWatch(tech)

Patches browser internal functions so that we can tell synchronously if a <source> was appended to the media element. For some reason this causes a sourceset if the the media element is ready and has no source. This happens when:

  • The page has just loaded and the media element does not have a source.
  • The media element was emptied of all sources, then load() was called.

It does this by patching the following functions/properties when they are supported:

  • append() - can be used to add a <source> element to the media element
  • appendChild() - can be used to add a <source> element to the media element
  • insertAdjacentHTML() - can be used to add a <source> element to the media element
  • innerHTML - can be used to add a <source> element to the media element
Parameters:
NameTypeDescription
techHtml5

The tech object that sourceset is being setup on.

getDescriptor()

Get a property descriptor given a list of priorities and the property to get.

hook(type, The)

Add a function hook to a specific videojs lifecycle.

Parameters:
NameTypeDescription
typestring

the lifecycle to hook the function to.

Thefunction | Array.<function()>

function or array of functions to attach.

hookOnce(type, The)

Add a function hook that will only run once to a specific videojs lifecycle.

Parameters:
NameTypeDescription
typestring

the lifecycle to hook the function to.

Thefunction | Array.<function()>

function or array of functions to attach.

hooks(type, fnopt) → {Array}

Get a list of hooks for a specific lifecycle

Parameters:
NameTypeAttributesDescription
typestring

the lifecycle to get hooks from

fnfunction | Array.<function()><optional>

Optionally add a hook (or hooks) to the lifecycle that your are getting.

Returns:

an array of hooks, or an empty array if there are none.

Type: 
Array

isActuallyDisabled(element) → {boolean}

Decide whether an element is actually disabled or not.

Parameters:
NameTypeDescription
elementNode
Returns:
Type: 
boolean

isBeingRendered(element) → {boolean}

Decide whether the element is being rendered or not.

  1. If an element has the style as "visibility: hidden | collapse" or "display: none", it is not being rendered.
  2. If an element has the style as "opacity: 0", it is not being rendered.(that is, invisible).
  3. If width and height of an element are explicitly set to 0, it is not being rendered.
  4. If a parent element is hidden, an element itself is not being rendered. (CSS visibility property and display property are inherited.)
Parameters:
NameTypeDescription
elementNode
Returns:
Type: 
boolean

isExpresslyInert(element) → {boolean}

Decide whether the element is expressly inert or not.

Parameters:
NameTypeDescription
elementNode
Returns:
Type: 
boolean

isPromise(value) → {boolean}

Returns whether an object is Promise-like (i.e. has a then method).

Parameters:
NameTypeDescription
valueObject

An object that may or may not be Promise-like.

Returns:

Whether or not the object is Promise-like.

Type: 
boolean

isVisible(element) → {boolean}

Determine if the element is visible for the user or not.

  1. If an element sum of its offsetWidth, offsetHeight, height and width is less than 1 is not visible.
  2. If elementCenter.x is less than is not visible.
  3. If elementCenter.x is more than the document's width is not visible.
  4. If elementCenter.y is less than 0 is not visible.
  5. If elementCenter.y is the document's height is not visible.
Parameters:
NameTypeDescription
elementNode
Returns:
Type: 
boolean

isVisibleStyleProperty(element) → {boolean}

Decide the style property of this element is specified whether it's visible or not.

Parameters:
NameTypeDescription
elementCSSStyleDeclaration
Returns:
Type: 
boolean

percentify()

removeHook(type, fn) → {boolean}

Remove a hook from a specific videojs lifecycle.

Parameters:
NameTypeDescription
typestring

the lifecycle that the function hooked to

fnfunction

The hooked function to remove

Returns:

The function that was removed or undef

Type: 
boolean

setupSourceset(tech)

setup sourceset handling on the Html5 tech. This function patches the following element properties/functions:

  • src - to determine when src is set
  • setAttribute() - to determine when src is set
  • load() - this re-triggers the source selection algorithm, and can cause a sourceset.

If there is no source when we are adding sourceset support or during a load() we also patch the functions listed in firstSourceWatch.

Parameters:
NameTypeDescription
techHtml5

The tech to patch

silencePromise(value)

Silence a Promise-like object.

This is useful for avoiding non-harmful, but potentially confusing "uncaught play promise" rejection error messages.

Parameters:
NameTypeDescription
valueObject

An object that may or may not be Promise-like.

sourcesetLoad(tech) → {boolean}

This function is used to fire a sourceset when there is something similar to mediaEl.load() being called. It will try to find the source via the src attribute and then the <source> elements. It will then fire sourceset with the source that was found or empty string if we cannot know. If it cannot find a source then sourceset will not be fired.

Parameters:
NameTypeDescription
techHtml5

The tech object that sourceset was setup on

Returns:

returns false if the sourceset was not fired and true otherwise.

Type: 
boolean

Type Definitions

ErrorMetadata

An object containing an error type, as well as other information regarding the error.

Type:
  • Object
Properties
NameTypeDescription
errorTypestring

Error type

Event

A Custom DOM event.

Type:
  • CustomEvent

EventListener(event, hashopt)

All event listeners should follow the following format.

Parameters:
NameTypeAttributesDescription
eventEvent

the event that triggered this function

hashObject<optional>

hash of data sent during the event

PlayerVersion

An object that contains Video.js version.

Type:
  • Object
Properties
NameTypeDescription
'video.js'string

Video.js version

PluginEventHash

Type:
  • Object
Properties
NameTypeDescription
instancestring

For basic plugins, the return value of the plugin function. For advanced plugins, the plugin instance on which the event is fired.

namestring

The name of the plugin.

pluginstring

For basic plugins, the plugin function. For advanced plugins, the plugin class/constructor.

ReadyCallback()

A callback that is called when a component is ready. Does not have any parameters and any callback value will be ignored.

SourceObject

An Object containing a structure like: {src: 'url', type: 'mimetype'} or string that just contains the src url alone.

  • var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'}; var SourceString = 'http://example.com/some-video.mp4';
Type:
  • Object | string
Properties
NameTypeDescription
srcstring

The url to the source

typestring

The mime type of the source