Releases: bbc/tal
Breaking change to hasBroadcastOrigin() implementation
Previous releases offered a method on the Historian object, hasBroadcastOrigin()
, returning true
or false
. This relied on an entry in the URL hash fragment that looked like &*history=broadcast
, which you would have needed to add to your application's URL yourself for the method ever to return true
. The result of hasBroadcastOrigin()
was also used internally to affect the result of calling isBroadcastSourceSupported()
on the HbbTV broadcast source implementation, and to offer different exit implementations for certain devices.
This release removes the hasBroadcastOrigin()
method from Historian, moving it up to the Application level instead and changing all callers within TAL. Behind the scenes it now relies on a URL query parameter, broadcast=true
, which is less likely to be dropped (e.g. during HTTP 302 redirects) by troublesome devices.
This is a breaking change if you ever called hasBroadcastOrigin()
explicitly on the Historian object, or you were appending &*history=broadcast
to the URL hash fragment. You will now need to call hasBroadcastOrigin()
on Application, and pass a query parameter broadcast=true
instead.
Add GetChannelName Logic
add GetChannelName logic so some elements can be accessed by a partner.
Corrected typo in astrasource
9.1.3 Version 9.1.3
Updating TAL to include new broadcast source
Adding astrasource.js
Renaming setSource to initialiseMedia and require a DOM element to render media into
The MediaPlayer setSource
method has been renamed initialiseMedia
(more representative of what it does).
This method now has a new parameter sourceContainer
. This is a required parameter, and is DOM element which you require the media to be rendered into.
In order to simply retain functionality from previous versions, you can pass RuntimeContext.getCurrentApplication().getRootWidget().outputElement
in as the sourceContainer.
Note: only HTML5 devices will utilise the container to render the video. Samsung and CEHTML will continue to render the video fullscreen in the background.
Usage:
Before (<9.0.0):
mediaPlayer.setSource('video', 'http://sourceURL', 'video/mp4', {disableSentinels: true});
After (9.0.0):
var mediaContainer = RuntimeContext.getCurrentApplication().getRootWidget().outputElement;
mediaPlayer.initialiseMedia('video', 'http://sourceURL', 'video/mp4', mediaContainer, {disableSentinels: true});
Samsung broadcast changes - detail to follow.
Add option to disable Media Player sentinels
Includes bug fixes from 8.2.0.
Add option to disable Media Player sentinels
8.2.0 Version 8.2.0
Add optional timeout to cross-domain GET CORS requests
8.1.2 Version 8.1.2
Source tal-page-strategies from NPM
tal-page-strategies
used to be sourced from GitHub, now they're from NPM
Deprecate Device JSON methods in favour of using JSON
See #459 for more info.
JSON should be available on all devices correctly running ES5 (has been a requirement of TAL since 5.0.0) and is easily polyfill-able on devices where it is not present.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON