Have more questions? Submit a request

SMIL Player

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to
Semantic Versioning.

[Unreleased]

[3.2.1] - 2024-15-11

Changed

  • increase interval for sending event reports to 10 minutes

Fixed

  • make sending event reports async to avoid blocking playback

[3.2.0] - 2024-08-10

Added

  • added ISO timestamp to PoP event reports
  • added option to specify custom endpoint in smil file header to send PoP event reports to

Fixed

[3.1.3] - 2024-29-09

Changed

  • change intro media display process to display intro as soon as possible to avoid black screen during smil player
    startup

Fixed

  • fixed issue with billboard transitions positioning not properly reflecting regions coordinates

[3.1.2] - 2024-29-09

Added

  • add a timeout for priority sync to avoid rare case when playlist freezes

Fixed

  • fixed issue with default transition and priority content not working properly

[3.1.0] - 2024-29-09

Added

  • added proof of play (PoP) support
  • added multiple sync group for synchronization before sync content plays and after sync content finishes for smoother
    sync transitions
  • added billboard transitions support for images
  • added option to specify default transition in smil file header ( default transition is used for all images in playlist
    unless different transition is specified)

[3.0.0] - 2024-24-07

Changed

  • sync index for the content is now computed for the whole regions instead of separate parts of playlist (seq, par tags
  • removed _smilversion query string from widgets displaying websites

Added

  • support for dynamic triggers
  • upgrade to node v20
  • improved performance for older devices
  • improve video playback performance
  • improved reporting messages
  • ability to restart applet when sync service fails
  • ability to monitor synchronization with event reports
  • added option to start triggers from inside the widget
  • event reports now reporting if media is being synchronized with playback on other devices
  • upgrade tools like typescript webpack to newer versions
  • ability to run triggered content from inside the widget
  • added random playback support with ability to shuffle content ro randomly select content from the playlist
  • improve priority types stop and defer performance
  • added option to specify default repeat count in smil file header ( default repeat count is used everywhere where
    repeat count
    is not specified )

Fixed

  • bug with conditional expression date and time comparison
  • fixed rare occurrence of top priority content flickering when returning to lower priority
  • fixed issues with seamless update and top priority content
  • fixed prepare of dynamic content on slave playlist devices to ensure gapless playback
  • fixed issue with parent overriding child content in priority playback
  • fixed body css bug during smil player start
  • fixed issue with wallclock notation when no repeatCount is specified
  • fixed issue when priority content specified with wallclock not starting properly
  • fixed parent generation bug for dynamic and priority segments
  • fixed issues with seamless update and sync content
  • fixed rewinding sync content to find the correct one to play with priority defined
  • fixed issue with trigger parent window listeners on android devices

[2.1.0] - 2024-01-15

Fixed

  • fix rare bug which occurs in widget optimization during smil playlist update
  • clarification that advanced usage with extra configuration is still in development

Added

  • added option to stop trigger using same triggerId as to invoke it
  • change failover mechanism so all devices take care of broken device
  • added ticker implementation
  • added markdown documentation for the smil playlist creation and syntax

[2.0.0] - 2022-05-31

Fixed

  • fixed wallclock and repeatCount=indefinite edge case bug
  • fixed background video single loop freeze
  • fixed repeatCount issues when combined with priorityClasses and wallclock notations
  • fixed relative src path for triggers
  • fixed rare bug with multiple triggers using same region not working correctly
  • fixed bug with keyboard triggers with specified duration
  • fixed transitions with underlying content
  • fixed issue when trying to prepare video which no longer exists in localstorage
  • fixed rare bug with one widget in playlist not visible after smil update

Changed

  • multiple components code refactor

Added

  • improved seamless update performance
  • improved general playback performance
  • improved multiple widgets in playlist performance
  • added option to turn off preloading of widgets ( widget is loaded at exact time when it should start playing, not
    before)
  • added transitions support for widgets
  • added support for applet-synchronizer
  • added option to synchronize playback among multiple devices in same sync group
  • added support for synchronization failover content ( when one device withing sync group goes offline, other one
    takes care of its playback )
  • added new home screen
  • added new default backup image
  • added option to specify z-index on img or ref tags in smil xml file

Removed

  • removed input form from home screen

[1.9.1] - 2022-02-15

Fixed

  • added config definition allowing to show required configuration in Box
  • added optional z-index attribute to img and ref tag in smil file
  • added conditional expression to smil data refresh configuration
  • fixed race condition with seamless update
  • fixed conditional timeFormat issue
  • fixed right and bottom css positioning for regular media and triggers

[1.9.0] - 2021-10-14

Fixed

  • fixed bug with video playback in background not working properly
  • fixed rare bug with malformed files in internal storage
  • fixed rare bug with wallClock definitions
  • fixed rare bug with wallclock endTime

Added

  • Add bottom option to element positioning
  • Add video streaming support

[1.8.0] - 2021-09-14

Fixed

  • Query parameters of HTML widgets for Brightsign devices
  • fixed image transitions bug

Added

  • Add seamless update support

[1.7.0] - 2021-06-30

Fixed

  • fix bug with non-existing videos failing smil file parse
  • fix issue when smil player was stuck on backup image after xml parse failure

Added

  • add option to turn off media update ( set interval as -1)

[1.6.1] - 2021-06-07

Fixed

  • fix bug with single priorityClass not working properly
  • fix rare bug with playing blank image ( no source )

[1.6.0] - 2021-05-27

Fixed

  • fix bug with default region not having proper name
  • fix bug with wrong repeatCount for triggers
  • fix bug with parent generation hashing algorithm
  • improved intro handling
  • improved playlist sanitization
  • improve media url validation
  • improved conditional expressions handling

Added

  • added smil event reporting support
  • added onClick/onTouch triggers with duration specified in seconds
  • added support for image to image crossfade transition
  • added optional serialPortDevice in sos.config to dynamically define device address for serial communication
  • added support for fixed video duration
  • added support for widgets with query parameters
  • added support for auth headers for media download
  • added ICS format implementation for conditional expression
  • added support for smil files with no active content
  • added support for backup image if smil-player fails on smil file download or smil xml parse functionality supports
    image stored directly in smil repo or on remote server.

[1.5.0] - 2021-04-14

Fixed

  • bug with new parent generated during each iteration of playlist
  • bug with one item playlist inside priorityClass

Added

  • improved smil stability
  • added logic to remove infinite loops and unnecessary elements
  • improve readme and documentation

[1.4.0] - 2021-03-31

Fixed

  • bug with multiple widgets ids in same region
  • bug with widgets extension remaining in code for later media
  • multiple components code refactor

Added

  • keyboard support for triggers
  • ability to play triggers based on repeatCount attribute
  • improved image/widget performance
  • improved xml parsing and playlist generation

[1.3.0] - 2021-03-12

Fixed

  • fixed wrong order when processing sequences of elements without seq or par tags
  • improved performance during conditional playback
  • fixed cypress tests timeouts

Added

  • added local express server for cypress tests
  • added dynamic cypress tests for priority and wallclock

[1.2.0] - 2021-02-12

Added

  • basic cypress tests support
  • advanced conditional expression conditions

Fixed

  • fixed bug with file update blocked by wallclock functions
  • fixed bug with one playlist blocking another during wait
  • improved performance for LG devices

[1.1.0] - 2021-01-26

Added

  • trigger support
  • webos video playback hotfix with sleep(videoDuration) and Promise.race
  • add priority behaviour support (excl and priorityClass tags)
  • add conditional playback support

Fixed

  • fixed smil parsing issue on Rpi
  • fixed new smil file download/offline processing
  • fixed media files update check
  • fixed image intro
  • fixed image/widgets update check, add random query string to avoid caching except for brightsign device
  • add improved error handling
  • add new instance of playlist during each smil restart
  • add lastModified check during media files download at the start of the smil processing
  • add check for empty localFilePath during video playback
  • remove navigator.online and replace it with fetch functionality
  • fixed edge case bug causing infinite loop when no playlist is active
  • fixed wallclock bug for different dates without repeat

[1.0.1] - 2020-09-17

Added

  • performance optimization for older devices
  • add JSDoc, code structure improvements
  • improve test coverage

Fixed

  • fix offline playback
  • performance improvements for older/slower devices

[1.0.0] - 2020-08-31

Added

[0.0.1] - 2020-03-01

Added

  • Initial PoC release of SMIL player
Was this article helpful?
0 out of 0 found this helpful
Share