OpenTV Player Web HTML5

Module: middleware

middleware

middleware.js

Members

static,constant module:middleware.allowedGettersObject

Enumeration of allowed getters where the keys are method names.

static,constant module:middleware.allowedMediatorsObject

Enumeration of allowed mediators where the keys are method names.

static,constant module:middleware.allowedSettersObject

Enumeration of allowed setters where the keys are method names.

Methods

staticmodule:middleware.clearCacheForPlayer(player)

Clear the middleware cache for a player.

Name Type Description
player Player

A Player instance.

staticmodule:middleware.get(middleware, tech, method){Mixed}

Calls a getter on the tech first, through each middleware from right to left to the player.

Name Type Description
middleware Array.<Object>

An array of middleware instances.

tech Tech

The current tech.

method string

A method name.

Returns:
Type Description
Mixed The final value from the tech after middleware has intercepted it.

staticmodule:middleware.getMiddleware(type){Array.<function()>|undefined}

Gets middlewares by type (or all middlewares).

Name Type Description
type string

The MIME type to match or "*" for all MIME types.

Returns:
Type Description
Array.<function()> | undefined An array of middlewares or undefined if none exist.

staticmodule:middleware.mediate(middleware, tech, method, arg){Mixed}

Takes the argument given to the player and calls the call version of the method on each middleware from left to right.

Then, call the passed in method on the tech and return the result unchanged back to the player, through middleware, this time from right to left.

Name Type Description
middleware Array.<Object>

An array of middleware instances.

tech Tech

The current tech.

method string

A method name.

arg Mixed

The value to set on the tech.

Returns:
Type Description
Mixed The return value of the method of the tech, regardless of the return values of middlewares.

staticmodule:middleware.set(middleware, tech, method, arg){Mixed}

Takes the argument given to the player and calls the setter method on each middleware from left to right to the tech.

Name Type Description
middleware Array.<Object>

An array of middleware instances.

tech Tech

The current tech.

method string

A method name.

arg Mixed

The value to set on the tech.

Returns:
Type Description
Mixed The return value of the method of the tech.

staticmodule:middleware.setSource(player, src, The)

Asynchronously sets a source using middleware by recursing through any matching middlewares and calling setSource on each, passing along the previous returned value each time.

Name Type Description
player Player

A Player instance.

src Tech~SourceObject

A source object.

The function

next middleware to run.

staticmodule:middleware.setTech(middleware, tech)

When the tech is set, passes the tech to each middleware's setTech method.

Name Type Description
middleware Array.<Object>

An array of middleware instances.

tech Tech

A Video.js tech.

staticmodule:middleware.use(type, middleware)

Define a middleware that the player should use by way of a factory function that returns a middleware object.

Name Type Description
type string

The MIME type to match or "*" for all MIME types.

middleware MiddlewareFactory

A middleware factory function that will be executed for matching types.

Type Definitions

MiddlewareFactory(player)

A middleware factory function that should return a MiddlewareObject.

This factory will be called for each player when needed, with the player passed in as an argument.

Name Type Description
player Player

A Video.js player.

MiddlewareObjectObject

A middleware object is a plain JavaScript object that has methods that match the Tech methods found in the lists of allowed getters, setters, and mediators.