Global

Members

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:
Name Type Description
color number

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

opacity number

Value for opacity, 0.0 - 1.0.

Returns:
string -

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

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:
Name Type Description
tech Html5

The tech object that sourceset is being setup on.

getDescriptor()

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

isPromise(value) → {boolean}

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

Parameters:
Name Type Description
value Object

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

Returns:
boolean -

Whether or not the object is Promise-like.

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:
Name Type Description
tech Html5

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:
Name Type Description
value Object

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:
Name Type Description
tech Html5

The tech object that sourceset was setup on

Returns:
boolean -

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