NOTE: BrightSignOS release notes will now be published in this location going forward. Users will be notified of new releases through the Support Announcements page. Previous release notes will be maintained in both locations until this page is deprecated.
9.0.67
Improvements
- OS-14756: (XT5) Fixed an issue where HDMI playback would result in excessive TMDS warnings.
- OS-14954: (Series 5) Updated the bootloader.
- OS-15260, OS-15280: (XT5/XD5/HD5/LS5) Added support for HDR playback.
- OS-15269: (Series 5) Enabled AC3 audio support.
- OS-15273: CEC: Optimized reporting order of physical addresses.
- OS-15282, OS-15283: Enabled the hardware random number generator to support encrypted storage.
- OS-15285: (LS5) Enabled PoE state reporting on latest hardware revisions.
- OS-15320: (HS5) Enabled IR support.
- OS-15339: (LS5/HS5) Improved system reliability at low temperatures.
- OS-15349: (Series 5) Improved behavior of factory reset by updating rescue image.
- OS-15401: Updated security fixes.
- OS-15408: CEC: Improved behavior of sending messages.
- OS-15421: Improved handling of playback errors.
Bug Fixes
- OS-14953: (LS5/HS5) Fixed an issue in which the serial port would emit messages even when the serial console was disabled.
- OS-15125: (XC5) Fixed an issue with HDMI stability (video is scrambled video or stops playing).
- OS-15167: (HD5) Fixed an issue where hot-plugging a USB touch device would result in a crash.
- OS-15262: (XC5) Fixed an issue where only a few frames of a video loops instead of the entire video.
- OS-15284: (XC5, XD5) Corrected to the calculation used for seamless looping of audio and video files.
- OS-15294: (XD5) Improved system stability by resolving a deadlock condition which would cause the system to crash during burn-in.
- OS-15298: (XD5, LS5) Fixed an issue with stuttering streams by improving handling of undefined duration streams.
- OS-15299: (XC5) Fixed an issue with playback on UDP Multicast streams.
- OS-15301: (General) Fixed an issue with mismatched Presentation Time Stamps (PTS) that adversely affected MPEG-2 playback.
- OS-15310: (XT5) Fixed an issue where video would play back correctly but analog audio playback would fail.
- OS-15318: (Series 5) Fixed an issue with playback of network streams that don’t start within a certain time.
- OS-15322: (Series 5) Fixed an issue with audio player failing.
- OS-15323: (Series 5) Fixed an issue where an incorrect command would be sent in certain instances where an interactive button is hit at the right point in time.
- OS-15333: (Series 5) Fixed an issue in which video would not loop properly even when “Loop media if no media end transition is specified” is checked.
- OS-15341: (Series 5) Fixed an HLS issue related to playback of alternate tracks.
- OS-15343: (XD5/HD5/LS5/HS5) Fixed an issue that would prevent custom video modes from being set.
- OS-15352: (XC5) Corrected behavior for LED flashing when player is searching for an OS update.
- OS-15363: (LS5/HS5) Fixed an issue with the H.264 decoder.
- OS-15412: (Series 5) Enabled "videoplay capture" command on Series 5.
Miscellaneous
- OS-14958: (LS5) Added change to only enable serial on USB-Type C when required.
8.5.36
Improvements
- OS-14731: Upgraded to latest packages per OpenSSL security advisory.
Bug Fixes
- OS-13160: Fixed an issue where DHCP IP in IPv6 was bound to the DUID and not the MAC Address.
- BCN-13310: Fixed support for remote directory creation.
9.0.59
Improvements
- OS-13621,OS-14193: (Series 5) Added GetDecoderModes support
- OS-14917: (LS5) Optimized video and graphics
- OS-15145: (General) Included board name in recovery HTTP headers
- OS-15231: (Series 5) Added support for FilePlayability API
- OS-15235: (Series 5) Added support for encrypted HLS
- OS-15242: (HD5/XD5) Enabled the output buffer when the console is enabled and on GPIO
- OS-15258: (LS5) Added check to prevent players from decoding videos larger than what they can support
- OS-15278: (LS5): Enabled SSD support
Bug Fixes
- OS-15086: (XC5, XD5) Fixed an issue with HLS streams crashing
- OS-15184: (LS5, HD5, XD5) Fixed an issue with playing VP8 video codec
- OS-15185: (XC5, XD5, LS5) Corrected color space for JPEG output
- OS-15197: (HD5, XD5) Fixed an issue with video stuttering
- OS-15222: (XC5) Fixed an issue where HDMI1 is working, but HDMI 2, 3, 4 showed either instability or no output (added a check to disable HDR when the output does not support it)
- OS-15250: (XD5) Fixed an issue that was causing some MPEG-2 files to fail
- OS-15262: (XC5) Fixed issue where only a few frames of a video loops instead of the entire video
9.0.51
Improvements
- OS-13391: (XC5) Enabled CEC support for all HDMI outputs
- OS-14323: (General) Added initial extensions support at boot up
- OS-15074: (XD5) Disabled seamless looping for incompatible media files
Bug Fixes
- OS-15069: (XC5) Fixed an issue with upscaling for players with multi-screen capabilities
- OS-15100: Fixed an issue with upscaling HTML presentations on multi-screen players
9.0.49
Improvements
- OS-13390: (XC5) Added IR support
- OS-13498: (XD5) Added IR support
- OS-13879: (XD5) Added support for video rotation
- OS-13881, OS-13882: (XD5) Made graphics encoding more efficient
- OS-14446, OS-14913: (Series 5) Improved upgrade script
- OS-14619, OS-14911, OS-14903: (XD5) Added support for hardware background color
- OS-14749: (LS5) Reduced Ethernet clock drive to improve EMI performance
- OS-14755: (Series5) Added audio support left/right mixdown
- OS-14777: (XC5) Removed unused OS Loader element
- OS-14796: (LS5) Added SPDIF support
- OS-14802: (XD5) Improved bootloader
- OS-14807: (Series 5) Improved handling of HDMI output color space and bit-depth
- OS-14822: (XD5) Added support for 10-bit video modes
- OS-14864: (XD5) Improved Ethernet timing
- OS-14785: (XD5) Optimize graphics and video performance
- OS-14787: (XD5) Added support for direct ticker rendering
- OS-14897: (XD5) Made upscaling more efficient
- OS-14900: (XD5) Improved microcontroller upgradability
- OS-14904: (XD5) Added video limitations
- OS-14919: (HS5) Improved support for board IDs
- OS-14929: (XD5) Switched to new VOB driver to avoid crashes
- OS-14930: (XD5) Improved 4K playback on 8K monitors
- OS-14940: (XD5) Fixed issue with serial output during boot
- OS-14942: (XD5) Improved timestamp logging at kernel boot
- OS-14954: (XD5/LS5) Improved bootloader upgrade process
- OS-14955: (XD5) Disabled console unless SVC button is pressed at startup
- OS-14962: (XD5/HD5) Improved smoothness of scrolling ticker
- OS-14991: (LS5, HS5) Fixed issue related to control of WiFi power supply
- OS-15024: (XD5/HD5) Add hardware background color support for certain modes
- OS-15070: (HD5) Enabled microcontroller programming on HD5
- OS-15088: (HS5) Improved reliability of audio output
Bug Fixes
- OS-14449: (XD5) Fixed issue with PlayStaticImage
- OS-14720: (XD5) Fixed issue with high CPU load during playback start
- OS-14795: (XD5) Fixed issue with HEVC streams
- OS-14819: (XD5) Fixed issue with stalling on boot
- OS-14851: (XD5) Fixed microcontroller hardware modification detection
- OS-14854: (XD5) Fixed issue with occasional crash when playing video
- OS-14907: (XD5/HD5) Addressed graphics layer scaling issue related to auto mode
- OS-14908: (XD5) Fixed issue with static image playback
- OS-14928: (LS5) Fixed issue with SD card voltage switching
- OS-14956: (XD5) Fixed issue with display of compressed buffer
- OS-14960: (XD5) Fixed issue with ticker scaling
- OS-14968: (XD5) Fixed issue with intermittent HDMI on startup with some screens
- OS-14969: (XD5) Fixed issue with flickering ticker
- OS-14983: (XD5) Fixed issue when receiving full-res script coordinates from BrightAuthor
- OS-15001: (XD5) Fixed graphics scaling issue.
- OS-15050: (Series 5) Fixed out of memory issue when playing video
- OS-15052: (XD5) Fixed issue with colorspace/no output during HDMI hotplug
- OS-15057: (XD5) Fixed issue with video rotation
- OS-15093: (XD5) Fixed HDMI and analog audio output issue
- OS-15094: (LS5) Fixed issue with performance settings control
Miscellaneous
- OS-13230: (XC5) Improve filesystem root hash mechanis
- OS-14710: (HS5) Added support for upcoming hardware
- OS-14763: (XD5/LS5) Added ability to determine board type at runtime
- OS-14804: (General) Updated supervisor
- OS-14870: (LS5) Improved family support of hardware
- OS-14879: (LS5) Fixed issue with Ethernet MAC address
- OS-15089: (LS5) Corrected board ID
9.0.34
New Features
(Series 5) Seamless looping support
Improvements
- OS-10546: (XD5/XC5) Added diagnostics for file descriptor leaks
- OS-13171: (Series 5) Enabled webcam drivers in kernel
- OS-13482: (XC5): Improved initialization of NodeJS switch
- OS-13514: (Series 5) Improved GPU memory usage
- OS-13523: (XC5) Improved frame timing of 30p content played at 60p
- OS-13587: (XD5) Added support for HDMI audio
- OS-13684: (XD5) Added ability to update firmware automatically
- OS-13686: (XD5) Tuned HDMI PHY settings
- OS-13721: (XD5) Improved security verification process
- OS-13832: (LS5) Added board identification support during manufacturing
- OS-13836: (LS5) Enabled USB test mode for compliance testing
- OS-13920: (XD5/HD5) Disabled debug clock control
- OS-13975: (XD5) Enabled full power on USB ports
- OS-14209: (Series 5): Added BLOB support for video playback
- OS-14232: (Series 5) Improved video transitions with HTML playlists
- OS-14248: (XC5) Added support for upgrading bootloader
- OS-14250: (XC5) Improved compositing performance by hiding primary plane
- OS-14268: (XD5) Improved boot reliability
- OS-14283: (XD5) Enabled Intel Bluetooth support
- OS-14285: (Series 5) Enable cursor support
- OS-14286: (XC5) Added support for additional video modes
- OS-14317: (XC5, XD5) Improved manufacturing test scripts
- OS-14411: (XD5) Improved detection of eMMC clock during boot
- OS-14437: (XD5) Added additional manufacturing test support
- OS-14457: (Series 5) Improved performance by hiding video using opacity instead of moving offscreen
- OS-14570: (LS5) Added support for secure ID
- OS-14581: (XD5): Added non-interlaced video modes
- OS-14585: (XD5) Improved audio at certain frequencies
- OS-14599: (LS5, HD5, XD5): Enabled consolidation of OS builds
- OS-14611: (LS5) Added support for HDMI audio
- OS-14618: (XD5) Ensured that memory always runs in peak performance mode
- OS-14630: (LS5) Added support for Ethernet LED control for manufacturing test
- OS-14649: (XC5) Added fix to avoid file handle leak during video metrics reporting
- OS-14686: (Series 5) Fixed tearing during resizing of video playback
- OS-14705: (XC5, XD5) Improved AV sync and frame handling
- OS-14721: (Series 5) Allow all RTSP transports
- OS-14735: (XD5) Fixed boot issue by using common partition structure
Bug Fixes
- OS-13814: (XC5) Fixed issue with compressed audio output
- OS-13873: (XD5) Fixed issue with FW progress bar not appearing in some situations
- OS-14198: (XD5) Fixed issue with 4K signals on some monitors
- OS-14208: (Series 5) Fixed ticker frame latency
- OS-14278: (XC5) Fixed crash with HDR content
- OS-14280: (XC5) Fixed memory corruption bug during video playback
- OS-14288: (XC5) Fixed graphics plane issue with 2x2 video wall
- OS-14295: (XD5) Fixed issue with loud audio playback volume
- OS-14318: (XC5) Fixed kernel bug on exit from BrightSign application
- OS-14337: (General) Fixed issue with H.264 over RTP
- OS-14408: (Series 5) Fixed Z-order problem which could cause missing widgets
- OS-14412: (Series 5) Fixed ticker visibility
- OS-14414: (XD5) Fixed SPDIF output issue
- OS-14419: (Series 5) Fixed HDMI passthrough issue with pre-routed audio
- OS-14422: (XC5) Fixed ticker location and sizing issue during graphics upscaling
- OS-14440: (XC5) Fixed HTML looping issue
- OS-14464: (XC5) Fixed mode lines for interlaced video formats
- OS-14564: (XD5) Fixed issue with pre-routed audio mode
- OS-14569: (Series 5) Fixed inverted compositing issue
- OS-14574: (LS5) Added support for latest Ethernet hardware configuration
- OS-14575: (LS5) Fixed issue with ALSA audio
- OS-14577: (XD5) Fixed rare issue with upgrade errors during manufacturing sequence
- OS-14579: (XD5) Fixed issue with screen artefacts from SPDIF
- OS-14589: (LS5) Fixed issue with H.265/HEVC playback
- OS-14601: (Series 5) Fixed issue with USB audio
- OS-14607: (XD5) Fixed USB port support for audio and serial
- OS-14617: (Series 5) Fixed corruption in some crash dumps
- OS-14644: (XC5) Fixed video playback issue with 3x1 portrait screen config
- OS-14650: (LS5) Fixed issue with Ethernet link LED
- OS-14668: (XD5) Ensured that default autorun is not run when there is no storage device
- OS-14672: (XD5) Fixed issue with SSD recognition
- OS-14675: (Series 5) Fixed drop-frame rate calculation
- OS-14719: (XD5) Fixed issue with 4K mode during startup with no HDMI connection
- OS-14723: (Series 5) Fixed audio playback issue
Miscellaneous
- OS-13160: (General) Added DHCPv6 DUID-EN
- OS-14282: (XC5) Disabled HS200 in u-boot
- OS-14300: (XC5) Added ability to update bootloader if necessary
- OS-14417: (General) Updated bootstrap
- OS-14418: (General) Updated supervisor and DWS
- OS-14687: (XD5) Added unique CPU ID to distinguish units
9.0.22.3
IMPORTANT: Upgrading an XC device to v9.0.19.2 or later means that the device can no longer downgrade to any OS earlier than v9.0.19.2.
Improvements
- OS-13184: Added support for touchscreens in multi-screen configurations
- OS-13924: Forced redraw if HTML widget is moved
- OS-14000: HTML widget storage quota can now be made large
- OS-14142: Added graphics plane upscaling based on video mode for Series 5 players
- OS-14247: Screenshots now include background color
Bug Fixes
- OS-13651: Chromium video playback fixes
- OS-14238: Fixed simultaneous video playback from multiple HTML widgets
8.5.33
Improvements
- OS-13924: Forced redraw if HTML widget is moved
- OS-14000: HTML widget storage quota can now be made large
Bug Fixes
- OS-14166: Fixed non-HWZ video on 4K242, 4K1042, and 4K1142 models
- OS-14238: Fixed simultaneous video playback from multiple HTML widgets
9.0.15
New Features
- Added support for the XC5
- Chromium security fixes merged from 8.5
- Updated FFmpeg from 4.4.1 to 4.4.2
Improvements
- OS-12964: Added an interface that allows the background color to be dynamically set
- OS-13076: Disabled low end device mode in Chromium to avoid rendering errors
- OS-13347: (XC5) Support video opacity on the XC5
- OS-13467: Added audio support in roHtmlWidget for built-in Chromium media playback (Chromium audio will go to HDMI-1 and analog by default)
- OS-13483: Added audio output hints for selection when using built-in Chromium media playback
- Added an output port name to roHdmiEdidChanged events in roVideoMode
- Allowed "HDMI:1" as well as "HDMI-1" for video port naming in videooutput
- OS-13616: Extended the videooutput API to allow PowerSaveMode to be specified on individual ports
- OS-13705: Made startCalibration arguments optional in js_ipcpointercalibration
- OS-13781: Enabling the web inspector now requires a registry entry
- OS-13654: Implemented safe x509 GeneralName format (CVE-2021-44532)
- OS-13379: For multi-output players, the informational splash screen displays on all outputs
Bug Fixes
- OS-13363: Ensured that removing last item invalidates the index in roList
- OS-13444: Trigger the busy LED to flash on NVMe SSD activity on XD4/XT4 players
- OS-13521: Fixed crash of roVideoPlayer during fade out
- OS-13638: Fixed screenshot timeout and other problems when power save mode is enabled on any screen
- OS-13871: Discarded any invalid transform strings in VideoMode
- OS-13917: Rounded cumulative video mode frame rates to display integers only
- OS-4745: Deprecated obsolete WEP and TKIP WiFi modes on Series 5+
8.5.31
Notable Changes
- OS-12400: Node upgraded to version 14.17.6
- OS-12444: Chromium upgraded to version 87.0.4280.144
- OS-13121, OS-13172: Applied numerous CVE fixes (Merged all Chromium CVE fixes up to Chromium99): CVE-2021-0129, CVE-2021-45960, CVE-2021-46143, CVE-2022-22822-27, CVE-2022-23852, CVE-2022-23990, CVE-2022-25235, CVE-2022-25236, CVE-2022-25313-5, CVE-2021-42374, CVE-42376, CVE-2020-36254, CVE-2021-27218, CVE-2021-27219, CVE-2021-28153, CVE-2021-3995, CVE-2021-3996, CVE-2021-45078, CVE-202-23903, CVE-2020-10531, CVE-2021-33560, CVE-2021-40528, CVE-2021-36976, CVE-2021-3658, CVE-2022-23308, CVE-2022-1271, CVE-2022-0204, CVE-2022-0563, CVE-2021-3541, CVE-2021-3517, CVE-2021-30553, CVE-2021-30569, 1204814 and 1197786, CVE-2021-30560, CVE-2021-30627, CVE-2021-30618, CVE-2021-30603, CVE-2021-30585, CVE-2021-30559, CVE-2021-30547, CVE-2021-30522, CVE-2021-21227, CVE-2021-30513, CVE-2021-21231, CVE-2021-30513, CVE-2021-30518, CVE-2021-30513, CVE-2021-30515, CVE-2021-21231, CVE-2021-21207, CVE-2021-21230, CVE-2021-21227, CVE-2021-21223, CVE-2021-21203, CVE-2021-21204, CVE-2021-21202, CVE-2021-21214, CVE-2021-21221, CVE-2021-21206, CVE-2021-21220, CVE-2021-21160, CVE-2021-21156, CVE-2021-21188, CVE-2021-21195, CVE-2021-21198, CVE-2021-21175, CVE-2021-21193, CVE-2021-21190, CVE-2021-21160, CVE-2021-21165, CVE-2021-21157, CVE-2021-21148, CVE-2021-21137, CVE-2021-21153, CVE-2021-21138, CVE-2021-21119, CVE-2021-21140, CVE-2021-21140, CVE-2021-21120, CVE-2020-16044, CVE-2020-16044, CVE-2020-16044, CVE-2021-21146, CVE-2021-21114, CVE-2020-16042, CVE-2020-16030, CVE-2020-16027, CVE-2020-16016, CVE-2020-16040, CVE-2020-16034, CVE-2020-16028, CVE-2020-16024, CVE-2020-16022, CVE-2020-16014, CVE-2020-16011, CVE-2020-16008
- Fixed CVE-2021-44532 in TLS/node
- The Chromium remote inspector is disabled by default on 8.5 release, even when it is enabled by roHtmlWidget enable_inspector flag, or roHtmlWidget.StartInspectorServer. An extra registry value has been added (”enable-web-inspector” in the “html” registry section) to enable the inspector. This ensures that users do not unintentionally enable the remote inspector on production software, which is not secure and may increase memory usage.
- Chromium has dropped support for desktop style scrollbars. BrightSign OS 8.5 is shipped with overlay scrollbars. Overlay scrollbars overlay on graphics and are only displayed when a page is scrolled. They disappear when the page is still.
- Chromium87 uses separate JavaScript contexts for data URLs. It is no longer possible to inject JavaScript from the data URL and access window context.
- Data URLs no longer share the same URL domain with the origin domain. It is no longer possible to access cross site data from data URLs.
- Chromium has added support to view remote device screen through inspector view. This is not supported on BrightSign devices due to architectural differences between desktop Chromium and BrightSign.
- Chromium has added more stringent security policies around cross site requests. Some of these security options can be disabled if needed. But, unlike our security_params (roHtmlWidget | roHtmlWidget-[roAssociativeArray]security_params), these security options cannot be disabled per instance. We have added an “html” → “disable-web-security” registry option to disable these security checks. This change takes effect after a reboot.
Improvements
- OS-12211: Added UseInitiatorAddressFromPacket() method to BSCECTransmitter
- OS-12538: Clipped input from SetCursorPosition to resolution
- OS-12767: BrightSign video player has been extended to play in-memory, or partially in-memory blobs from HTML video elements
- OS-12943: Added a recipe for NodeJS epoll package and included it in mission image
- OS-13010: HDCP2.2 beta functionality is now disabled by default. This can still be enabled if users wish to experiment with HDCP2.2
- OS-13022: roUrlTransfer no longer allows curl_debug in encrypted BrightScript
- OS-13089: Fixed black screen flash when switching between videos of different resolutions
- OS-13154: Raised mouse move events in HTML widget
- OS-13206: HTML popups can now be accepted or rejected through script
- OS-13363: Ensured that removing the last item invalidates the roList index
- OS-13403: Re-instated support for Elo touchscreens with a custom binary driver
- OS-13512: Added Reassociate function that can safely re-connect wifi connection without losing user configurations .
- OS-13705: Made @brightsign/pointercalibration startCalibration arguments optional
- OS-13764: Reinstated the ability to disable mouse input on roHtmlWidget
- OS-13781: Web inspector now requires a registry entry to enable it
- OS-13512: Provided Reassociate() method for scripts to reconnect WiFi without losing user configurations
Bug Fixes
- OS-12831: Added a fix for video capture being erroneously selected when playing back a video stream
- OS-13053: Fixed video location mismatch error
- OS-13741: Added focus management for overlapping widgets
- OS-13117: Added a registry option to enable --allow-running-insecure-content
- OS-13827: Avoid flushing cache when mapping assetpool - can cause problem with active connections
8.4.14
Improvements
- OS-12828: Improved Bluetooth support when using WD104.
- OS-12672: Reverted WS103 WiFi driver to the previous version.
Bug Fixes
- OS-12813: Fixed a crash when updating BP900 firmware.
- OS-12811: Fixed continual reboot that could occur during USB device enumeration.
- OS-12826: Fixed an issue causing file name corruptions during upload.
- OS-12831: Fixed 3840x2160x60p video streams incorrectly playing through a capture path.
- OS-12843: Fixed Node not using platform CA.
- OS-12871: Fixed @brightsign/virtualinput keyboard not functioning as expected.
- OS-12914: Fixed crash during decoding.
8.4.10
New Features
- OS-12699: HDMI In now supports VESA modes.
- OS-12745: Added option to disable SPDIF and analog for roAudioConfiguration.
- OS-12776: Added support for passing cookies to HLS streams.
- OS-12682: Updated Supervisor to version 2.0.4.
Improvements
- OS-5439: Improved DNS name resolution.
- OS-12679: DNS name resolution is now interruptible.
- OS-12715: Network Diagnostics tests are now interruptible.
- OS-12796: Replaced Video Player State Check with Diagnostics.
Bug Fixes
- OS-12684: Fixed UDP streaming from sending out of order packets.
- OS-12472: Fixed touchscreen timing racing during calibration test.
- OS-12720: Corrected audio configuration in prerouted pcm_only mode.
- OS-12724: It is no longer possible to downgrade to a version which does not support an installed Wi-Fi device on a Wi-Fi player.
- OS-12770: Video should no longer be corrupted when input stalls briefly.
- OS-12768: Fixed VP9 HTTP streaming.
- OS-12802: Fixed cursor not updating correctly without synced axis updates.
- OS-12797: Built-in Javascript garbage collection method “gc()” is now disabled by default.
- Customers that use gc() should set html->expose-gc registry flag to “1”.
8.3.46
New Features
- OS-12286: @brightsign/networkconfiguration now reports metric zero.
- OS-12082: Added new JavaScript object AudioOutput.
- OS-12224: Added “:reserved” modifier for audio routing.
- OS-12245: Added Seeked event to AU3x5 players.
- OS-12305: Added font width scaling to CEA-608 and CEA-708 closed captions.
- OS-12329: CEA-708 BackSpace support added.
- OS-12211: Added UseInitiatorAdressFromPacket() to JS/BSCECTransmitter.
- OS-12201: Added raise() and lower() methods to js_ipchtmlwidget.
- OS-8412: Added support for custom video modes.
- OS-12351: Added registry option for --disable-web-security flag.
- OS-11018: Added @brightsign/networkstatus.
- OS-12305: Added rectangle control for graphics layer video.
- OS-2061: Numerous DNS changes.
- Enabled caching of DNS results.
- Added flushdns command to shell.
- Added new component to js_ipcresolver to flush DNS cache.
- Added FlushDNSCache method to roNetworkConfiguration.
- OS-11724: Added roAudioConfig.GetTimeBaseStatus() to monitor phase errors.
- OS-11528: @brightsign/htmlwidget now supports typing to javascriptInjection API
- OS-11000: Added support for mixing audio outputs to AU3x5 Players.
- OS-11000: Added @brightsign/audioconfiguration for Node.js.
- OS-11773: @brightsign/audio now has JavaScript support for x-bs-audio-mode, allowing expansion of mono files to stereo output and mixdown control to the left/right channel.
- OS-11747: Added roAudioPlayerMx support for AU players.
- OS-11957: Added “inspector-port” to htmlplay parameters in the shell.
- OS-11957: Added “htmlplay chronode” to shell.
- OS-11957: Shell now supports “node http://host/script.js” and “node inspect …”
- OS-11948: HTML playback now has decoder statistics for position update callback.
- OS-11951: Numerous additions and improvements to MSE VP9 video playback including:
- Ensure media stream headers are initialized.
- ProxyPlaypump now creates correct stream headers during construction.
- GetMediaResource is now skipped.
- Improved thread safety.
- Ready state events are fired at better times.
- Implemented WedMediaPlayerBrightsign::SetDuration.
- OS-6589: Added server rate tracking to live HLS streaming, which can be reported via GetStreamStatistics.
- OS-11873: Added LAST: to autorun search path.
- OS-11503: ifStreamReceive now supports roByteArray instances.
- OS-12591: NAT is now allowed on ppp devices.
- OS-12553: Micron SD cards can now apply firmware updates during formatting.
- OS-12621: Allows selection of fullres for specialty high resolution modes.
- OS-5971: Enabled GPT support and show partition table types.
- OS-11943: Added support for OpenVPN.
- OS-12475: Added option to force audio output to FREERUN.
Improvements
- OS-11502: roByteArray events now supported for ifStreamReceive.
- OS-11503: Binary receive EOL sequence now supported for ifStreamReceive.
- OS-12293: HtmlWidget Chromium version is now in Selenium compatible format.
- OS-12005: TLS now checks all OCSP responses when looking for a match.
- OS-12322: Added space after CEA-608 mid-row codes.
- OS-12323: Improved locking of CEA-608 data.
- OS-12257: Removed unwanted fields from log messages.
- DOCS-781: Updated bsaudio IDL to reflect current documentation.
- OS-12371: Changed GetUsbTopology() behavior to match previous versions.
- OS-12451: Prerouted audio now uses BAPE mute status.
- OS-12180: Improved mouse, touch, and HID input support to work with Electron.
- OS-12461: js_ipcpointercalibration now supports calibration events.
- OS-12169: BindToInterface() now supports USB friendly names.
- OS-12472: BrightSign license information is available from a prompt.
- OS-12379: USB power control for Series 4 XD and XT players can now switch off bus power and interface.
- OS-12316: Active interfaces with default configuration are now reported as configured.
- OS-12388: Added “preferredvideo” as alias for “preferedvideo” for HTML.
- OS-11517: Removed StreamForceTs option.
- OS-11784, 11823: Improved HDMI In and HDMI Audio In clock selection.
- OS-11747: Audio fade code for VideoPlayerImpl is now under FadeController.
- OS-10998: Timecode events are now controlled by BasicAudioPlayer instead of VideoPlayerImpl.
- OS-11948: HTML playback position period is now 200ms.
- OS-11995: Ignore failure to capture HDMI input window message.
- OS-12045: Added GetStreamStatistics from roVideoPlayer to roAudioPlayer.
- OS-12003: IsHighResolution/Is4KResolution has been re-implemented, and 3840x1200 is properly classified as “high” and not “4K”.
- OS-9059: Adjusted network tuning for streaming.
- OS-12174: Improved AudioRouting for compressed output.
- OS-10998: BasicAudioPlayer now supports BrightScript AddEvent and ClearEvents.
- OS-12206: Improved MSE audio file looping.
- OS-12079: Non-default SNMP community strings are now supported.
- OS-12084: MSE is now supported by default on Series 4 players.
- OS-12095: Removed support for 3DES cipher in SSH cryptographic settings.
- OS-12131: PTP offsetFromMaster now reports to scripts.
- OS-12123: Simultaneous MSE streams are now supported.
- OS-11898: PcrDebugFile now supports 50,000 lines.
- OS-11751: Improved HDMI encoding using the clock.
- OS-12509: Default cursor is now set at startup.
- OS-12527: Improved HDMI input stability.
- OS-12578: Sped up audio locking for HDMI video in.
- OS-12595: js_ipcbrightscript now provides script results when resolving a promise.
- OS-12597: Automatic SD firmware updating is now supported via registry flag.
- OS-12606: Updated openssl to 1.1.1.
- OS-12636: Brightscript now supports restart from inside Eval() and Run().
- OS-12637: Shell now supports restarts from the BrightScript debugger.
- OS-12480: Increased compressed audio buffer count for HDMI input.
- OS-12480: Disabled EQ if routing audio from HDMI.
- OS-12584: Wi-Fi now parses EAP-TLS certificate identities for otherName type.
- OS-9915: NetworkDiagnostics no longer sends IPv6 pings from all interfaces by default.
- OS-12639: Improved ping API in @brightsign/networkdiagnostics.
- OS-12660: Updated curl to fix CVE-2021-22947.
- OS-12450: Patch for CVE-2021-3580 and CVE-2021-20305.
- OS-12540: Updated curl to fix CVE-2021-22924 and CVE-2021-22925.
- OS-12583: Updated c-ares to fix CVE-2017-1000381 and CVE-2021-3672.
Bug Fixes
- OS-12273: Fixed HTTP end-of-stream events not being delivered.
- OS-12242: Fixed roAudioOutput.SetToneControl function not working as expected.
- OS-12282: Fixed HDMI in audio clocking.
- OS-12193: Fixed syntax error in HtmlWidget User-Agent string.
- OS-11939: Fixed occasional incorrect crashdumps.
- OS-12304: Fixed Ticker overflow crash on multi-screen setups.
- OS-11889: Fixed VideoPlayer crash when the file is given Play and Stop commands close together.
- OS-12339: BasicAudio now handles SEEKED events from overlay correctly.
- OS-12341: Fixed MaxVariantWidth for HTTP streaming.
- OS-12306: Fixed timing of CEA-608 captions.
- OS-12328: Fixed SetPenLocation for CEA-708 captions.
- OS-12331: Queue is cleared when switching to CEA-608 captions.
- OS-12338: Fixed closed captions reading off the end of the surface.
- OS-11530: Fixed LLDP accidentally setting zero PoE power.
- OS-12337: ZipArchive properly returns an error when it fails to read.
- OS-11979: Fixed audio playback issues when hotplugging a USB device into AU3x5 players.
- OS-12365: video_player_proxy now properly scales videos to the output resolution.
- OS-12350: Fixed unhandled HLS stream error.
- OS-12402: Fixed search path parsing for ipconfig.
- OS-12416: Fixed OutputNetworkConfiguration status readings for IPv4 and IPv6.
- OS-12430: Fixed screenshot.asyncCapture() behavior.
- OS-12432: Fixed HTML player behavior on re-use that could cause a memory leak.
- OS-12443: ClearMediaPlayer now resets the state of media.
- OS-12405: Fixed changing mouse cursors causing a resource leak.
- OS-12460: System user IDs are now constant between versions.
- OS-12465: Fixed HTML video end event handling to avoid reaching invalid state.
- OS-12361: roNetworkConfiguration now reports correct metrics for cell modems.
- OS-11688: Updated AAC decoder to avoid glitches with certain files.
- OS-12301: HLS streams will now play correctly when changing video size.
- OS-11787: Fixed HDMI_IN clock not setting successfully.
- OS-11905: Fixed BasicAudioPlayer sending EVENT_PLAYING on every Resume().
- OS-11931: Fixed crash that could occur when a callback would be sent after destruction.
- OS-12049: Fixed non-hwz video playback behaving unexpectedly.
- OS-11135: roVideoMode locking should work as expected.
- OS-11437: Fixed Safe Area text in a Scrolling Ticker expanding out of the region.
- OS-9733: Fixed bug where IPv6 would remain enabled after EUI-64 DAD fails.
- OS-11795: Fixed potential overflow in EDID parser.
- OS-11838: Fixed .m4a audio playback not behaving as expected.
- OS-11892: Fixed playback issues using ASF.
- OS-11987: Fixed audio dropout when switching playback above 1x.
- OS-12020: Fixed HLS live playback starting too soon.
- OS-12026: Fixed GStreamer retry timer behavior.
- OS-12086: Fixed bug that could cause AU3x5 player GPIOs to be placed in a strange state.
- OS-12097: Fixed bug that caused HTML videos to loop prematurely.
- OS-12103: CEA closed caption extended characters now display correctly.
- OS-12114: Fixed looping HTTP videos starting at a time other than 0 seconds.
- OS-12135: Fixed crash that would occur by over-allocating video decoders.
- OS-12146: Fixed arbitrary MAC address reporting for 4G modems.
- OS-12189: Fixed error trying to blend audio messages of different frequencies on AU3x5 players.
- OS-12207: Fixed missing ENDED events when playing AC3 on XDx34 and XTx44 players.
- OS-12218: Fixed crash from memory allocation failure during a screenshot.
- OS-11773: Fixed AU3x5 independent audio playback for stereo left and stereo right not functioning as expected.
- OS-12067: Fixed streaming sometimes having the incorrect EOS.
- OS-12240: Fixed a crash with EosOnPmtChange option when playing via HTTP.
- OS-12249: MSE now closes when load() is called a second time.
- OS-12660: Fixed crash that could occur if the HTML overlay-scrollbar registry setting is active.
- OS-12266: Fixed bug where WebRTC would confuse extmap and extmap-allow-mixed.
- OS-12273: Fixed HTTP end-of-stream events not being delivered.
- OS-12242: Fixed roAudioOutput.SetToneControl function not working as expected.
- OS-12282: Fixed HDMI in audio clocking.
- OS-11939: Fixed incorrect crash dumps.
- OS-12478: Fixed streams with audio in Opus or Vorbis and video not in VP9 crashing.
- OS-12604: Fixed json memory leak.
- OS-12632: Fixed touch screen start up causing duplicate initialization and assertion failures.
- OS-12620: Fixed HTML video playback receiving multiple end commands.
- OS-12538: Fixed crash that could occur when changing the cursor.
- OS-12384: Fixed crash when screenshots did not complete on time.
- OS-12665: Fixed screenshot failure for 4K players.
- OS-12662: Fixed crash that could occur when changing the cursor rapidly.
- OS-12663: Fixed cursor displaying in the incorrect color.
- OS-12687: Fixed DVB subtitles sometimes not drawing.
- OS-12578: Fixed audio clocking issues in some niche configurations.
- OS-12671: Fixed openvpn causing the device to hang when misconfigured.
- OS-12676: Large certificates are no longer truncated.
- OS-12667: Allow general binding of port 53.
8.2.82
Improvements
- OS-12439: Updated Supervisor to v1.2.114
- BCN-9612: Players no longer respond to REST API commands after the LDWS has been disabled
- BCN-9679: Fixed packet capture
- BCN-9548: Improved /v1/diagnostics/network-configuration API
- BCN-9534: Fixed devices not being displayed under Networked Units after publishing to LFN.
- OS-12286: @brightsign/networkconfiguration now reports metric zero
- OS-11996: Newer versions of Prolific PL2303 are now supported.
Bug Fixes
- OS-11939: Fixed occasional incorrect crashdumps.
8.2.75
Bug Fixes
- OS-12660: Fixed crash that could occur if the HTML overlay-scrollbar registry setting is active.
8.2.72
New Features
- OS-11910: @brightsign/networkconfiguration now returns clientCertificate and key set flags for Wi-Fi.
- OS-11928: VideoPlay now provides a system log message when unable to probe a file.
- OS-11947: Added support to roHtmlWidget for overriding default storage behavior.
- OS-11924: Configured network interfaces can now be enumerated from BrightScript.
- OS-11914: Cell modem PPP diagnostics are now configurable through the registry.
- OS-11978: HtmlWidget now uses protocol://origin:port for storage path hash.
- OS-11283: Extension version information can now be reported where available.
- OS-11999: Added storage/disable_usb registry setting.
Improvements
- OS-11912: video_delay will now round to the nearest whole output frame.
- OS-11896: @brightsign/networkconfiguration now translates binary data to a safe format when required.
- OS-11774: Improved fsck timeout in brightsign-startup.
- OS-11929: @brightsign/htmlwidget now converts file URLs into file paths.
- OS-11569: Re-added a per widget pinch-to-zoom control.
- OS-11965: The application script now informs the supervisor when it restarts.
- OS-12069: Subresource URLs allow credentials again.
- OS-12077: Removed inconsistent quotes from some type values in @brightsign/networkconfiguration.
Bug Fixes
- OS-11906: BasicAudio data timeout now resets coming out of a Pause
- OS-11905: BasicAudio now only sends EVENT_PLAYING at playback start.
- OS-11688: Fixed a bug that could cause an unexpected sound to play during AAC playback.
- OS-11857: Fixed a crash when there was exactly one sample in stream statistics.
- OS-11885: Fixed virtual keyboard disappearing when touched.
- OS-11934: LS4 serial port hardware inversion should now function as expected.
- OS-11880: Fixed crash when attempting to zoom before view is created.
- OS-11843: Adjusted calling thread in ProxyConfigService to avoid an occasional crash.
- OS-11888: Initial network state reporting in HTML widgets should now be correct.
- OS-12058: Fixed crash-on-exit after repeated setting of sync domain.
- BCN-9291: Fixed a bug that prevented bsca files installation.
8.2.55.5
Important Note
- Warning: The data storage system in use by Chromium processes changes when there is a major upgrade to the Chromium version bundled with the BrightSign OS. While updating to a newer version of the OS is generally stable, there are cases where downgrading the OS can cause the data accessed by Chromium to be inaccessible. Other data not in use by Chromium that can be stored on SD, SSD, USB connected and external devices that contain media, systems files and other data do not share this limitation. Please be sure to test your workflow for any OS upgrades or downgrades before deploying to a production environment.
New Features
- OS-11947: Added ability to override default storage behavior for HTML Widgets.
Bug Fixes
- OS-11885: HTML virtual keyboards will no longer disappear when attempting to use them.
- OS-11978: HTML local storage now uses the correct scope.
- OS-11888: HTML widgets now report the correct initial network state.
8.2.55
New Features
- OS-11556: Added GetUsbTopology API to brightsign/legacy/deviceinfo.
- OS-11593: Added new sendSync() API to brightsign/messageport.
- OS-11579: roHtmlWidget now provides a warning when trying to change unsafe properties after setting a URL.
- OS-11564: Added brightsign/configurednetworks JavaScript object.
- OS-11636: Logs now show if HDMI output is locked to the PCR clock, and PCR clock settings at OS level.
- OS-10300: Presentations can switch between PTP and PCR locking.
- OS-11578: Added brightsign/objectLifetimeTracker API.
- OS-11637: Added close() method to brightsign/syncmanager.
- OS-11666: Added brightsign/usbhotplug API.
- OS-11668: Video player can now control playback rate.
- OS-4741: Added ability to read CPU temperature on players without a dedicated hardware sensor.
- OS-11702: Added ifFailureReason to roAssetCollection.
- OS-11766: js_ipcassetpoolfetcher’s fetchers are now independent.
Improvements
- OS-10382: roVideoMode GetHdmiInputStatus() is more resilient to unplugging cables.
- OS-11622: roHtmlWidget should handle large character paths for local storage as expected.
- OS-11603: Increased stability of HTML playback with multiple video players.
- OS-11632: Supervisor now has access to serial ports.
- OS-11630: Suppressed extraneous warnings on stream probes.
- OS-11626: Multichannel audio decoder now supports 8 channels.
- OS-11559: SSL minimum supported version changed to TLS1.2 to improve security. Additionally, SSLv3 is no longer supported on players using openssl.
- OS-11641: USB ttys devices now set permissions appropriately.
- OS-11644: Multiple video synchronized playback improved.
- OS-11600: brightsign/htmlwidget close() method now behaves as expected.
- OS-11182: Changed BrightScript window creation to no longer create invisible windows.
- OS-11639: USB Mass storage deviced now included in topology report.
- OS-11064: roNetworkConfiguration and brightsign/networkconfiguration now both support secure Wi-Fi password retrieval (Not supported on AU3x5 Players).
- OS-11674: Improved AU3x5 behavior to load an audio file directly to a set time.
- OS-11661: Extension names containing “-“ are now supported.
- OS-11677: Improved error reporting when unobfuscating passwords.
- OS-11680: brightsign/hostconfiguration changes now persist immediately upon update.
- OS-11635: Improved Wi-Fi stability.
- OS-11652: BSS scan limit increased from 128 to 512.
- OS-10709: Improved shade rendering on webpages, preventing unexpected areas of complete black.
- OS-11694: Playing media backwards using roVideoPlayer now behaves as expected when reaching the start of a file.
- OS-11580: Improved brightsign/networkconfiguration API.
- OS-11548: Added roUsbPowerControl support to series 4 players.
- OS-11723, OS-11750: Updated Chromium 69 with QtWebEngine CVE fixes.
- OS-11008: Wi-Fi Access Points connecting or disconnecting provide indications.
- OS-11712: Mosaic mode now supports compressed buffers.
- OS-11730: XT4 Wi-Fi passphrase obfuscation is now unique.
- OS-11564: LS424 players timebase handling has been improved, preventing audio loss.
- OS-11744: Media resource handling is now more robust.
- OS-11745: Removed unnecessary warning when muting audio.
- OS-11536: roNodeJs API has been improved for simpler exit and signal code.
- OS-11733: Python cryptographic module no longer fails when SSL3, TLS1.0, TLS1.1 are disabled on python supported players.
- OS-11754: Improved stream queue interlocking.
- OS-11793: Fixed unpacking file zips larger than 2Gb on supported Series 2 and 3 players.
- OS-11786: js_ipcassetpoolfetcher UrlTransferThread behaves now as expected.
- OS-11767: js_ipcassetpoolfetcher has been renamed to js_ipcassetfetcher.
Bug Fixes
- OS-8962: Fixed a HDCP negotiation problem with some sources.
- OS-11591: Fixed an issue that would cause files uploaded to ext4 filesystems to end up in the wrong mode.
- OS-10695: Crash dumps no longer attempt to send before the network is correctly configured.
- OS-11605: htmlplay command now behaves as expected.
- OS-11628: HTML and JavaScript audio routing settings no longer reset upon replay.
- OS-11609: AACPlus files should now play as expected.
- OS-11653: Fixed a crash that could occur when the player would attempt to play after the video ended.
- OS-11659: Calling a missing video player will no longer cause a crash.
- OS-11665: Reconfiguring networks using JavaScript no longer crashes.
- OS-11678: Applying identical network parameters no longer triggers a reconfiguration.
- OS-11648: Changed Chromium imagecache size and memory allocation to prevent crashes.
- OS-11689: AU3x5 players physical address is now 1.0.0.0.
- OS-11698: Passing unexpected types to AssetCollection should no longer cause a player reboot.
- OS-11701: roSyncPool and roAssetFetcher EnableEncodings method now returns the expected type.
- OS-10763: AU3x5 players will no longer occasionally timeout during bootup.
- OS-11707: Increased PCM buffer allocation for players with HDMI-In, preventing reboots after switching from Live to Video.
- OS-11120: Default AAC profile will now be used if no other profile is determined.
- OS-10281: Fixed string leak in parameters for roChannelManager, roStreamQueue, and roVideoMode.
- OS-11589: Fixed playback issues for HDMI-In not using HWZ.
- OS-11749: dhcpcd will no longer force a crash when misconfigured.
- OS-11740: Seeking with playback speeds other than 1.0x now reports the correct playback position.
- OS-11741: Fixed memory leak that could occur in HTML render process.
- OS-11788: @brightsign/configurednetworks no longer reports eth0 twice.
- OS-11796: BrightSignShell help command no longer disappears after using some commands.
- OS-11865: Revision 1.4 EDIDs are no longer rejected.
- OS-11795: Parsing the EDID audio descriptor no longer possibly overflows the parser.
8.2.35.4
New Features
- OS-10962: Added support for IP forwarding configuration to @brightsign/hostconfiguration.
- OS-7840: Added contrast and brightness controls to roVideoPlayer.
Improvements
- OS-11549: roVideoPlayer.ProbeFile performance improved.
- OS-11518: The module search path can now be set when using roNodeJS.
- OS-11513: Converting BrightScript associative arrays with non-native types into JSON will no longer cause a warning message to be emitted in the logs.
- OS-11510: @brightsign/assetrealizer validateFiles method attributes now uses camelCase, e.g. “deleteCorrupt”.
- OS-11481: Local storage with multiple browser instances through roHtmlWidget has been improved.
- OS-11347, OS-9929: Suppressed warning message when playing a video at a different display rate than the source.
Bug Fixes
- OS-11585: Fixed an issue where not all HTML video tag attributes were honored.
- OS-11567: Destroying an HTML video player immediately after loading no longer causes errors to appear in the log.
- OS-11562: roAssetPool and @brightsign/assetpool now properly recalculate pool size after validation failure.
- OS-11531: Fixed problem with exFAT subdirectory parsing.
- OS-11529: GPIOs 4 and 5 now work correctly on AU335.
- OS-11484: @brightsign/audio instances are no longer garbage collected whilst playing.
- OS-11446: Fixed problem with event delivery from BrightSign objects when used with NodeJS.
- OS-11432: NodeJS is now prevented from exiting while promises are outstanding.
- OS-11319: Fixed potential crash that could occur during a traceroute operation.
- OS-11293: Fixed excessive memory usage when playing back portrait video.
- OS-11035: Reduce video encoding latency in particular configurations.
- OS-10448: HTML video element now reports the correct dimensions.
- Supervisor Bugfixes
- BCN-8401: Players with no SD card can now run the LDWS again.
- BCN-8399: Fixed ping method sometimes getting players stuck in a loop.
8.2.26
Improvements
- New AU3x5 audio-only player family is now supported.
- AU3x5 supports local file playback and streaming from localhost.
- AU335 supports ARC and eARC output for audio. This output supports compressed passthrough of AC3, EAC3, DTS, and PCM up to 96kHz sample rate.
- OS-10285, OS-10161: Improved streaming stability.
- OS-10608: VideoWall SetMultiscreenBezel now supports floating point arguments.
- OS-10041: Improved VideoWall sync.
- OS-10299: Added ability to track Vsync through TsmDecisionVsyncOffset.
- OS-10223: Expanded PCR timebase controls.
- OS-11189: Enabled leader and follower tickers to exist on the same player.
- OS-11203: Improved SyncManager timestamp readability in JavaScript.
- OS-11205: SyncManager is now supported from roNodeJS.
- OS-10977: PacketCapture is now supported from USB network devices.
- OS-11061: Enable ‘Real Time’ URL option for streams.
- OS-11287: HDx23 now paces UDP packets in groups when streaming.
- OS-11033: HDx23 now has reduced VFD backoff for PlayStaticImage.
- OS-11298: Arguments may now be passed to Node scripts launched through roNodeJs using new ‘node_arguments’ parameter. More information can be found here.
- The AU3x5 audio player now supports seeking to an arbitrary position.
- OS-11251: roAudioPlayer.PlayFileAsync now runs asynchronously.
- OS-11190, OS-11199, OS-11192: Fixed various issues with ticker zones in multiscreen presentations.
- OS-6516: UDP output streaming now supports IPv6.
- OS-10649: New roUsbPowerControl and @brightsign/usbpowercontrol components for turning power to USB ports on and off for XT4 and AU3x5 players.
- OS-11257: New @brightsign/serialportlist module allows accessing serial ports from JavaScript using Node serialport.
- OS-11316: Improved handling of permissions on ext4 file systems.
- OS-11114: UrlTransfer/roAssetFetcher/roSyncPool.BindToInterface API now accepts an interface name and treats non-integer numeric type as an integer.
- OS-10847: AU335 supports USB device mode.
- OS-11190, OS-11199, OS-11192: Multiscreen tickers now display in-sync as expected, run smoother at non 60p videomodes, and perform better when displaying multiple on screen.
- OS-11375: Fixed blank screen when the video player called PlayStaticImage() after a fade out transition.
- OS-11281: Many DHCP client improvements.
- OS-11351: Physical interfaces used for VLANs no longer have IPv6 link-local addresses.
- OS-11365: Temporary directories are now properly cleaned up on success when encryptfs is enabled.
- OS-11363: Fixed alpha handling issue that could cause images to appear drastically different across displays.
- “node” command now available in the shell.
- OS-11380: Playback seeking for compressed audio now behaves as expected on AU3x5 models.
- OS-11394: Improved robustness when repeatedly starting and stopping playback on AU3x5 players.
- OS-11261: Added new @brightsign/cec Javascript object.
- OS-11402: Event properties are no longer contained in a “detail” object for many @brightsign/ modules.
- OS-11413, OS-11443: @brightsign/cookiestore no longer causes crashes and contains domain and path information.
- OS-11441, OS-11428, OS-11442: @brightsign/htmlwidget now has inspectorServer, bsObjects, security, and inputEnabled parameters.
- OS-11434: @brightsign/pointercalibration now has enableCursor() as a method.
- OS-11434: “cursor” command added to shell.
- OS-11431: roVideoMode.ConfigureHdmiInput now behaves as expected.
- OS-11439: roAssetCollectionView no longer exceeds file handle limit.
- OS-9559: 4096 wide 4K videos are now supported for playback on players capable of 4K playback.
- OS-10540: Cope better with video files encoded indicating square pixels.
- OS-11407: The first CEC send operation now properly generates an event.
- OS-11421: roAssetCollectionView filesystem is now correctly marked as read-only.
- OS-11106: Encrypted BrightScript is now supported on AU3x5 and Series 3 players.
- OS-11400: The following @brightsign/ modules now support relative paths: filesysteminfo, storageinfo, filesysteminfile, keystore.
- OS-7974: @brightsign/screenshot now accepts native filenames through destinationFileName properly.
- OS-7974: The following @brightsign/ modules use native paths rather than BrightScript-style paths: assetpoolfetcher, assetpool, assetrealizer.
- OS-9185: @brightsign/assetpoolfiles is a new Javascript module.
- OS-11456: @brightsign/videomodeconfiguration.getConfiguredMode no longer rejects ‘auto’ mode.
- OS-8482: @brightsign/htmlwidget no longer remaps BrightScript-style filenames.
- OS-11493: Fixed “saturating at 0x7FFFFF” errors in video volume control.
- OS-11492: Added support for 4096x2160 10 bit video on XT4.
- OS-11495: @brightsign/assetrealizer.validateFiles returns an empty array correctly.
- OS-11496: @brightsign/assetpoolfetcher progress events no longer provide ‘total’ property for assets that had no specified size.
- OS-10660: Improved Wi-Fi reliability in certain situations.
- New Supervisor and DWS version.
- BCN-7033: Extensions and PoE are displayed again.
- BCN-7568: Supports new /info API to include hardware and API features.
- BCN-7628: Fixed error that could occur when downloading log packages.
- BCN-8137: Failsafe will no longer aggressively clear the network name.
- BCN-7974: Added UI to control logging level.
- BCN-7945: Wi-Fi only players no longer lose network connection after re-provisioning.
8.1.84
New Features
- OS-10883: Presentations with multiple compressed bitstreams can be muted by setting the volume to zero.
- OS-11092: Improved reporting of textTracks in HTTP Live Streaming (HLS).
- OS-11230: Ensured that stale metadata is not used when remounting filesystem after format.
- OS-11168: Improved reporting of open files when unmounting filesystems.
- OS-11174: Added updating of the physical address in the HDMI input EDID, which improves issues with CEC passthrough.
- OS-11120: Stream probe now times out after three seconds.
- OS-10881: Stream probe now ignores audio description tracks.
- BCN-7658: Added ability to access alternate storage paths in the DWS.
- OS-11316, OS-9330: ext4 formatted devices can now accept writes as intended.
- OS-11360: roControlPort now logs names of GPIO ports that are missing.
- OS-7475: Reduced packet size of the DWS ping tool to 56 bytes for more accurate results.
Improvements
- OS-10705: AC-3 and E-AC-3 passthrough settings now work as expected.
- OS-11240: Fixed graphics upscaling on 4Kx42 players in the following video modes: 1792x1344x60p, 1920x1920x60p, 2048x1152x50p, 2048x1152x60p, 2376x288x60p, 2560x1080x60p, 2560x1440x30p, 2560x1440x60p, 2560x1600x60p, 2560x960x60p, 2880x720x60p, 3440x1440x30p, 3440x1440x50p, 3440x1440x60p, 3840x1080x25p, 3840x1080x30p, 3840x1080x50p, 3840x1080x60p, 3840x1200x60p, 3840x600x60p.
- OS-11263: Fixed @brightsign/keystore.removeCaPackage for the JavaScript API.
- OS-11180: Fixed media analysis in DWS crash with certain file types.
- OS-11226: Fixed time zone data for MSK (Moscow time).
- OS-11175: Fixed unexpected reboot caused by Chromium when loading HTML.
- OS-11164: Fixed TsAesCbcCbt stream decryption with two IVs on XTx43, XDx33, HD, HS, LS, HO, and 4K players.
- OS-11162: Fixed BrightScript CopyFile() issue with a preexisting destination file.
- OS-11081: Fixed crash when updating closed caption data for HTML5 video.
- OS-11222: Fixed HTML5 FileSystem API file creation issues.
- OS-11177: Fixed unexpected reboot when a web page in a presentation finished loading.
8.1.69
New Features
- Upgrade to Chromium 69.
- OS-10567: BrightScript can now be encrypted.
- OS-10714: HTML clients are now informed when closed caption data changes.
- OS-10960: Added support for transparent proxy configuration and captive portals.
- Added source network specification to transparent proxies through roNetworkConfiguration.
Improvements
- Support for the 1280x768x60p 69 MHz resolution on Series 4 players.
- Support for the 3840x1200x30p resolution on Series 4 players.
- Support for the 2560x800x60p resolution on Series 4 players.
- Support for the 2048x1152x50p resolution on 4K-capable players
- Support for the 1728x1296x60p resolution on all players
- Support for the 3840x1200x60p resolution on 4K-capable players
- Support for the 1048576 baud rate for serial over USB.
- OS-10362: Key presses are now reported more accurately.
- OS-9560: XDx23 and XTx43 players now use the RTL8821C Bluetooth driver.
- OS-8793: RTSP streaming now only creates streams for audio and video, and no longer creates metadata streams.
- OS-10225: Calling require() with an invalid class name no longer causes a crash.
- Improved latency during video playback.
- OS-10287: Pressing Control-C during player startup no longer causes to player to reboot.
- OS-9578: Playing a video with an empty src will no longer crash the device.
- OS-10418: Players should no longer stall when playing a stream that switches codex.
- OS-10451: Players now continuously probe for closed captions.
- OS-9156: Players should no longer crash when audio decoders initialize while closed captions are enabled.
- OS-10544: Improved crash analysis performance.
- BCN-6337: Key presses are no longer buffered during install.
- BCN-6418: Fixed durations when time zone is not set to UTC.
- OS-10375, OS-10577, OS-10352, OS-10397, OS-10579: Improved Javascript object implementation.
- OS-10524: New method added to roHtmlWidget named GetStreamStatistics().
- OS-9713: Improved transport stream decryption security.
- BCN-6414: Fixed issue that would cause the local DWS to fail on startup.
- BCN-6148: SD cards are now cleared when players reboot for reprovisioning.
- BCN-6221: RDWS no longer points to the wrong manifest.
- BCN-6328: Taking a snapshot in the RDWS no longer causes an error.
- BCN-6253: RDWS now supports larger file downloads of up to 100Mb.
- BCN-6690: Content type responses for legacy HTML should now be correct.
- OS-10722: Added support for decryption with a key in SecureStore.
- OS-10532: roHtmlWidget now supports proxy authentication with SetProxy.
- OS-10723: Graphics output is now stashed on playback start.
- OS-10759: Added the ability to set ownership and permissions to /storage/flash
- OS-10831: roNodeJS now sends an event upon successful execution of a script.
- OS-10865: roNodeJS can now pass arguments to scripts.
- OS-10755: roNodeJS now supports messageport to communicate between BrightScript and JavaScript.
- OS-10647: Fixed issue causing 75p video to not work.
- OS-9998: Removed duplicate newline in log messages.
- OS-10898: Fixed work-around for packet capture kernel bug.
- OS-10902: Fixed crash when accessing the registry from the rescue image.
- OS-10936: GetTimeServer is no longer forced to return a URL.
- OS-10939: Fixed issue preventing multiple video playback on 4K1142.
- OS-10786: Fixed issue causing unexpected audio halting.
- OS-10961: Removed CONFIG_IP_FORWARDING from roNetworkConfiguration.
- OS-9964: Removed filesysteminfile support from BrightScript.
- OS-10970: Disabled OffscreenCanvas.
- OS-10602: Fixed shader bug that would cause green boxes to appear in presentations on Series 2 and Series 3 players.
- OS-1094: Muted frames caused by DVB content flipping should no longer appear.
- OS-9593: Improved error reporting when playing unsupported HTML video content.
- OS-11006: Fixed error that would cause audio to not play after a few playlist loops.
- OS-11093: Fixed roAudioOutput volume control for analog and HDMI.
- OS-11082: TimeOperation no longer returns in scientific notation.
- OS-10910: Added support for a new feature enable that locks out USB networking.
- OS-11085: Downscale images to 1080p on 4k242 players.
- OS-11069: Fixed errors that would be caused by routing 4k video incorrectly.
- OS-11081: Fixed issues caused by Text Tracks being terminated too early.
- OS-11088: Added ability to add a hidden SSID.
Chromium
- Interesting changes from Chromium 65 to Chromium 66
- Interesting changes from Chromium 66 to Chromium 67
- Interesting changes from Chromium 67 to Chromium 68
- Interesting changes from Chromium 68 to Chromium 69
8.0.146
Bug Fixes
- OS-10424: HTML elements will no longer be cropped and shifted in certain use cases.
- BCN-7288: Content Cloud published schedule changes were not immediately received by the player. (Issue introduced in 8.0.143)
8.0.143
Improvements
- Communication with BSN.cloud through a https proxy is now supported. The proxy must support tunneling operation (CONNECT). Deep-inspect proxies that terminate the TLS connection at the proxy are not supported.
Bug Fixes
- OS-10760: HTML video content no longer appears too early.
- OS-10532: roHtmlWidget SetProxy() now honors the supplied username and password for proxy authentication.
- OS-10759: Upgrade files can now be written to /storage/flash as a destination.
- OS-10789: HDMI input to portrait mode video walls now displays correctly.
8.0.141
Improvements
- OS-10431: OverrideDisplayEdid API added to roVideoMode.
- OS-10560: USB audio can now be independently controlled from player volume.
- OS-10414/OS-10415: Added validity checks to storage pathways, preventing sensitive information from being accessed.
- OS-10656: Improvements to VideoWall sync with HTML files.
- OS-10610: Improvements for cloud connected players.
- Improved directory navigation using the DWS.
- Fixed failure to download large files using the DWS.
- Fixed the DWS failing to start the local DWS after an application restart.
- OS-10637: Available storage is now default for contents.html.
- OS-10749: Bootstrap updated to v1.0.62.
- BCN-6819: Increased API security on players.
- BCN-6676: /wshealth implemented for websocket health check.
- BCN-6786: Fixed confusion between network and group names in the registry.
- BCN-7024: Fixed exception if a registry was empty when read.
- BCN-6962: Remote snapshot no longer fails when using portrait mode orientations.
- BCN-6737: DWS now can see directories named ‘tmp’. Requires BrightAuthor:connected 1.1.1.
Bug Fixes
- OS-10031: Fixed sync polarity, improving support for 3840x1200x60p on certain displays.
- OS-10367: Fixed memory leak in AudioOutputManager.
- OS-10366: Added sync information to BSPLAY logs.
- OS-10578: Fixed memory leak that could occur when taking a screenshot.
- OS-10420: Added BVN error statistics to better detect HDMI errors.
- OS-10377: HtmlWidgetQt no longer crashes when adding fonts.
- OS-9156: Fixed potential crash when parsing closed captions.
- OS-10652: Fixed deadlock in GetStreamStatistics in HtmlWidget.
- OS-10626: Fixed an issue when rendering to the 6th display in 4kx42 players.
- OS-10631: Fixed full resolution graphics issues in XDx33 and XTx43 players.
8.0.127
Improvements
- exFAT changes: microSD cards that use the exFAT filesystem will now fail to mount immediately if the filesystem image has been truncated because it is larger than the storage partition.
Bug Fixes
- OS-9985: Touch events now properly work with HTML5 projects that have Full resolution graphics enabled.
- OS-10034: DVB closed captions are now properly decrypted on XTx44 players.
- OS-8793: Improved compatibility with ONVIF RTSP cameras.
- OS-9181: Players no longer automatically apply daylight savings time to certain time zones.
- OS-10371: Australian Eastern Standard Time now works properly.
8.0.119
New Features
- New @brightsign/htmlwidget JavaScript class, which instantiates additional HTML browsers.
- Support for Linux USB HID gadget driver with new roUsbHidEmulator BrightScript object and new
@brightsign/usbhidemulator JavaScript class. - New roSystemLog.ReadNextLine() BrightScript method, which reads the next line of the recorded system log.
- New roKeyboard.SetNumLock() BrightScript method, which allows you to set the Num Lock state for any attached USB keyboards.
- New keyboard.setNumLock() JavaScript method, which allows you to set the Num Lock state for any attached USB keyboards.
- New systemtime.getTimeZone() JavaScript method, which returns the current time-zone setting of the player.
- Support for the 2048x1152x50p resolution on 4K-capable players
- Support for the 3840x1200x60p YUV resolution on 4K-capable players
- Support for the 1728x1296x60p resolution on all players
- Support for the new 2880x720x60p CVT resolution on XDx33 and XTx44 players
Improvements
- OS-9883: The transparency setting of scrolling tickers now has the same effect across all types of zones.
- OS-9060: Improved initial accuracy of BP200/BP900 button panels.
- Increased the amount of network-related statistics reported by roVideoPlayer.GetStreamStatistics().
- When a player has a Dolby audio decode license, the EDID read back via HDMI is now checked for Dolby support. If it is supported, then compressed audio is sent. If it is not supported, then the audio is decoded by the BrightSign player and sent over HDMI as PCM. When a player has no Dolby audio decode license, then compressed audio is now sent regardless of EDID contents.
- OS-9978: Improved error dialog when roSystemLog.ReadNextLine() returns as Invalid.
- OS-9944: Reduced PCR jitter when using roStreamQueue.
Bug Fixes
- OS-9832: 802.1X client reauthentication now works correctly on wired LANs.
- OS-9916: Minimum ping time is now correctly reported when performing a ping test in the Diagnostic Web Server (DWS).
- OS-9975: Fixed cross-site scripting vulnerability in Diagnostic Web Server (DWS) when using the speedtest function.
- OS-10164: SFTP connections once again work with BrightSign players.
- OS-9784: HTML video playback on synchronized players no longer fails to display properly.
- OS-9837: Improved GStreamer memory management for HLS streaming.
- OS-9845: AC3 compressed output over HDMI once again functions properly.
- OS-9863: IPv4 broadcast addresses can once again be used with roSyncManager.
- OS-9644: The user stylesheet feature can be used again.
- OS-9558: Changing the source of a video tag no longer causes the video’s dimensions and position to glitch.
- OS-9889: Setting transform to unsupported values when using roHtmlWidget no longer causes a crash.
- OS-8366: Buffer underflows from streams no longer occur if media is not playing.
- OS-9942: PCR packets are now sent more frequently during streaming.
- OS-9946: Fixed an issue that causes HTML video to have its set aspect ratio change once it is displayed.
- OS-9446: Displaying content from Vimeo no longer causes a loading icon to appear when hwz is disabled.
- OS-10034: DVB closed captions are now properly decrypted.
- OS-9973: The change to the amount of TS packets that are read at one time during UDP streaming has been reverted: Players now read seven TS packets at a time.
8.0.94
New Features
- New JavaScript API: Retrieve information about the network PTP state of a player using the roPtp JavaScript object
Improvements
- 9726: Various improvements to memory management for HLS streams.
8.0.91
New Features
- Support for the Ralink USB wireless adapter (RT5572)
- New videooutput.getPowerSaveMode() JavaScript method
- Support for the 1920x1920x60p resolution on 4K-capable players
Improvements
- The roSyncManager/BSSyncManager objects can now be bound to an Ethernet/wireless network interface.
- The dwsconfiguration.applyConfig() JavaScript method no longer requires the password parameter.
- 33115: The destruction speed for roHtmlWidget instances has been improved.
- 33212: Improved GStreamer memory management for HLS streams.
- 33185: SVG image files are now read and rendered correctly, and comments on SVG image files can now be read.
- 26939: Media handling when switching between media types using BrightScript has been improved.
- 33196: 4K EDID reporting is now more detailed. 4K EDID is also now available for screens that support 4K at 30p or less.
Bug Fixes
- 33123 (HS123/1x4): IR input events now work.
- 31153: Transparent .png images in Ticker zones now display correctly.
- 2997 (XTx44): Playback of ECB-encrypted streams has been fixed.
- 33214: Fixed an issue that causes the Diagnostic Web Server (DWS) to incorrectly display Enhanced Synchronization (PTP) status when configured over WiFi.
- 32999: Instantiating BrightSign JavaScript objects with the require() call no longer generates memory leaks.
- 32931: Fixed an issue with BrightScript JavaScript objects that causes asynchronous requests to never return.
- 33165: The restartRequired property returned by the videomodeconfiguration.setMode() JavaScript method now returns correct values.
- 33157: Unresponsive pinch/zoom and swipe operations associated with some HTML presentations have been fixed.
- 33059: Screen capture using the WebGL toDataURL() call has been fixed.
- 33004 (4Kx42): 4K video playback in HTML pages has been fixed.
- 33137: Button presses on a GPIO device connected via the GP800-C connector no longer intermittently generate doubled events.
- 32903: Synchronization of two videos on the same player has been fixed.
- 33087: The roUrlTransfer object once again works with mDNS .local URLs.
- 32986: The IGMPv3 switching process has changed. See here for more details.
- 29415: Players now respond correctly to network switches with IPDT enabled.
- 33206: EDID files have been regenerated to v1.3 to improve support for proprietary STB.
- 33187: Fixed an issue that causes network loss during roAssetFetcher downloads.
- 32564: 4K video modes at 50p and 60p now only accept 4:2:0 chroma subsampling HDMI input.
- 33195: Playing AC3 audio in prerouted mode no longer causes a crash.
8.0.69
New Features
- Support for the Silicon Works Multi-Touch touchscreen
- New setMpcdi() JavaScript method
- New disableHdcpRepeater() JavaScript method
- New StableEnumeration() global BrightScript function
- New SetWiFiFrequencies() BrightScript method
- New RetainBodyOnError() BrightScript method
Improvements
- Enhanced synchronization (PTP) is now supported over WiFi
- The new “language” initialization parameter allows you to set the browser language of an roHtmlWidget
- New “DisableYUV” parameter for the ConfigureHdmiInput() method allows you to disable the YUV colorspace on the HDMI Input.
- The roTextWidget object now fails if you try to set an invalid master/slave combination with the SetSyncManager() and SetMultiscreen()
- All HTML browser cookies are now applied to video playback.
- It is now possible to play streams on HTML pages that require authentication.
Bug Fixes
- 32946 (XTx44, XDx34, HDx24, HS124, LS424 only): HTML <video> elements now return an error when they attempt to play the unsupported VP8 codec.
- 32858: Destroying a video window displaying HDMI Input no longer prevents other video windows from displaying the HDMI Input.
- 32835: The z-index setting for an roHtmlWidget no longer overrides the z-index attribute for <video>
- 32840: The x-bs- HTML attributes now work with <video>
- 32600: An HTML video playlist no longer displays incorrectly scaled frames when transitioning between videos with different resolutions.
- 32168: HTML pages can once again play video files from IndexDB using blob URLs.
- 32667: HTML videos no longer generate two JavaScript end events when they end.
- 32675: Certain HTTP streams no longer cause a memory leak and eventual crash on the player.
- 32893: The roSyncManager object now transmits synchronization messages locally on the player even when there is no Ethernet connected at bootup.
- 32896: If an roSyncManager/BSSyncManager slave device drops off of a WiFi network, it is now able to resynchronize when it rejoins the network.
- 32614: The roUrlTransfer.SetCertificatesFile() method no longer returns true when the specified file does not exist.
- 32866: The Realize() JavaScript method no longer returns Invalid if the asset list is not correctly formatted.
- 32904: The HDx24, HS124, and LS424 now correctly report USB friendly names.
- 32936: A patch has been implemented for CVE-2019-11477.
8.0.48
New Features
- New Set Source to BrightSign option for BrightControl commands
Improvements
- The Media List inactivity timer can now be set on a global or per-state basis in the File > Presentation Properties > Media List
- The BrightAuthor version used to create the presentation can now be specified as a system variable.
- BrightAuthor can now open schedules containing BrightWall presentations.
- The default Screen resolution for HD models in the New Project window is now 1920x1080x60p, rather than 1920x1200x50p.
- Specifying a non-existent user variable as a Conditional Target now raises a warning dialog.
Bug Fixes
- 32588: Publishing to audio-only models (LS322, AU320) no longer causes a crash on the player.
- 29158: A BrightWall presentation with a View Mode set to Scale to Fill no longer behaves as if it is set to Fill Screen and Centered.
- 32481: Pressing OK in the File > Presentation Properties > Audio window of a presentation no longer resets the pass-through audio settings in the Zone Properties
- 32168: A BSN user with the “Publishers” role can now publish schedules.
- 30914: If a player has firmware earlier than version 7.1.33 and is configured for WPA Enterprise networking, attempting to upgrade the player past 7.1.33 now works.
- 32567: The dimensions of graphics zones in presentations that are larger than 1920x1200 are now always correctly scaled.
- 31244: Interactive Menu states now correctly display multiple .jpg Active Image and Inactive Image
- 31043: Analog audio is once again an available option for Connector Volume > Mute/Unmute
8.0.33
New Features
- New pinch_to_zoom_enabled initialization parameter (and EnablePinchToZoom() method) for the roHtmlWidget object
Improvements
- The roHtmlWidget object now returns the new-window-request event, which allows BrightScript applications to handle requests from the browser to open a new window.
- The roSyncManager object now supports IPv6 addressing.
- The time it takes to switch between streams encrypted with TsAesCbcRbt has been reduced.
Bug Fixes
- 32325: (XTx44/43, XDx34/33) Playback of Vorbis/VP9 via HTTP has been fixed.
- 32454: Playback of MPEG1 and MPEG2 streams via HTTP has been fixed.
- 32369: (HDx24, LS424) Publishing a portrait-video presentation to a player multiple times no longer causes playback errors.
- 32365: HTTP TS video now plays audio correctly.
- 32381: Dolby Vision is now supported over streaming playback for authorized players.
- 32351: The security_params:{websecurity:false} setting for roHtmlWidget initialization has been fixed.
- 32247: Calling SetTransform() on an HTML widget immediately before calling SetURL() now causes the expected behavior.
- 32275: HTML videos with audio output no longer conflict with other audio tracks.
- 32400, 32405: The player no longer crashes after attempting to destroy an roHtmlWidget object that has loaded certain websites.
- 32256: Certain crashes related to the Chromium render process have been fixed.
8.0.17
New Features
- New GetInputState() JavaScript method
Improvements
- BrightSign passphrase obfuscation now supports public key cryptography.
Bug Fixes
- 32179: The Tandberg precisionHD 720 webcam works again with Series 3 players (XTx43, XDx33, HDx23, LS423).
- 31931: Tracking of the audio-sample rate on the HDMI input has been fixed.
- 32200, 32234: Players no longer crash intermittently when destroying an roHtmlWidget
- 32108,32133: YouTube Live streams have been fixed.
- 32314: The CVE-2018-16890 and CVE-2019-3822 vulnerabilities in the curl library have been patched.
- 32330: Bounds-checking vulnerabilities in the JavaScript object bindings have been fixed.
- 32281: The roAudioPlayerMx object now plays the first audio track after booting up at the correct sample rate.
- 32261: (XTx44, XDx34, HDx24) The EnableAlternateFunction() method has been fixed.
8.0.11
New Features
- Chromium 65 support
- (XTx44, XDx34): Support for FLAC and Vorbis audio codecs.
- (XTx43, XDx33): Support for the VP9 codec
- New roAssetCollectionView BrightScript object, which allows for loading of Node.js applications from an asset pool
- New roUsbFilesystem BrightScript object (and usbfilesystem JavaScript object), which configures the player to act as a USB filesystem for connected devices
- (XTx44) H.265 encode
- Support for the 1440x1088x57 video mode
- roSyncManager.SetEncryptionEnable() and BSSyncManager.SetEncryptionEnable() methods
Improvements
- (4Kx42): The 4Kx42 models now use the standard default autorun (allowing for on-device setup).
- BP200/BP900 configurations now persist after transient disconnects (less than 10 seconds). Longer disconnects will still cause reinitialization.
- Players support loading .bos firmware update extensions.
- IPv6 and IPv4 can now be enabled or disabled using the SetEnabledProtocols() BrightScript method or the networkconfiguration.applyConfig() JavaScript method.
- The roKeyStore object now supports extending or replacing the default set of CAs on the player.
- The BSDatagramSocket object now supports IPv6 multicast and source-specific multicast.
- The roSyncManager/BSSyncManager objects now support encryption.
- New overlay-scrollbar setting in the html registry section allows you to change the HTML scrollbar from the default desktop version to a touch-friendly version.
- (XTx43) When the gfxmemlarge setting is enabled, players are limited to a single video decoder to free up memory for graphics operations.
- The following methods have been disabled: DisplayBuffer(), roTouchScreen. EnableRollover(), and roTouchScreen.SetRolloverOrigin(). The endpoints still exist, but they do not have any effect.
Bug Fixes
- 32156: Switching between files in a Mosaic Mode window no longer causes playback to fail.
- 31966: YouTube playlists have been fixed.
- 31726: Streaming video playback with the G.711 and G.726 audio codecs now works.
- 31174 (XTx44, XDx34): The Auto level Volume setting now works.
- 31931: HDMI input with HDCP 1.4 no longer exhibits poor audio quality.
- 31138: HDCP 1.4 playback now works after the HDMI output cable is hotplugged.
- 31866: The WiFi LED now flashes correctly when the wireless module is connecting to the network.
- 30227: The latency of the HDMI encoder has been improved.
- 32159: Remote snapshots now capture HDMI input in zones with odd height values.
- 31222: Performance issues with the XTx44 HTML touch carousel demo have been fixed.
- 31108 (XTx44, XDx34): Videos that are encrypted using TsAesCbcRbt no longer exhibit macroblocking during playback.
- 31186 (XTx43): Setting the video mode to 3840x2160x30p:fullres:gfxmemlarge no longer causes a reboot loop.
7.1.95
Improvements
- The roHtmlWidget and roUrlTransfer objects now use the same set of CA certificates, which can be modified using roKeyStore.
- The ConfigureHdmiInput() method can now be used to configure the supported HDCP version reported by the HDMI input.
- The BSDatagramSocket object now supports IPv6 multicast and source-specific multicast.
- The roKeyStore object now supports extending or replacing the default set of CAs on the player.
Bug Fixes
- 31985 (XTx43, XDx33): The hotplug purple screen issue has been fixed.
- 31658: Configuring the player for WiFi via on-device setup no longer causes the player to crash.
- 30409 (XTx43, XDx33): Portrait video no longer exhibits a glitch when a new image is loaded in a separate zone.
- 31550 (HDx23, LS423): Certain portrait videos no longer exhibit glitches in HTML.
- 28590: YouTube live streaming playback has been fixed.
- 31726: Streaming video playback with the G.711 and G.726 audio codecs now works.
- 31879: BP900 devices now enumerate correctly when connected to a USB C port (i.e. via a USB A to USB C adapter).
- 31866: The WiFi LED now flashes correctly when a wireless module is connecting to the network.
7.1.81
New Features
- BP200/BP900 button panels no longer drop button-press events.
Improvements
- The SetViewMode() and SetLoopMode() methods on the roVideoPlayer object now accept string arguments.
Bug Fixes
- 30732: Mosaic mode video windows can now be placed in front of a standard video window.
- 20545: Scrolling tickers now respect the Safe text region in Ticker zones.
- 29476: The Background bitmap for Ticker zones now works with scrolling tickers.
- 31491: Players now correctly display upscaled 4K video input.
- 31138: (XTx44, XTx43, XDx34, XDx33) HDCP 1.4 input once again works when the HDMI input cable is hotplugged.
- 31280: (XDx32, HDx22) The BrightSign splash screen no longer appears in the upper-left quadrant of 4K displays.
- 31222: (XTx44, XDx34) Performance issues with the slick.js animation library have been fixed.
- 31542: The GetCurrentConfig() method now returns the correct information for USB modems.
7.1.72
New Features
- (XTx44, XDx34, XTx43, XDx33) Support for the following video modes: 3840x600x60p, 2560x960x60p, 2376x288x60p, 2560x1080x50p, 1920x1200x50p, 1792x1344x60p, 1440x1080x60p
Improvements
- The Chromium MemoryPressureMonitor can now be disabled by setting the mpm entry to false in the html section of the registry. This allows JavaScript applications with memory leaks to run longer before crashing.
- (XTx43, XDx33) The gfxmemlarge setting for HTML pages is now enabled by default when full-resolution 4K graphics are enabled. The player is now also limited to a single video decoder with full-resolution graphics.
Bug Fixes
- 30476: The player no longer crashes when discovering and controlling devices via UPnP.
- 30227: The latency of streaming an HDMI encode is once again 1 to 2 seconds.
- 31029: A playback issue with some M3U8 audio streams has been fixed.
- 31295: Dolby Vision playback no longer exhibits intermittent stuttering with the 1920x1080x23.967 video mode.
- 31335: Single-quote characters are now escaped in JavaScript strings containing JSON data.
7.1.65
New Features
- Support for PKCS8 private key parsing
Improvements
- Encrypted playback APIs now support string keys in addition to hex keys.
- Streaming media can now can be configured for HTTP proxies using the SetProxy() and roNetworkConfiguration.SetProxy() and methods.
- TheapplyConfig() JavaScript method now accepts objects that lack a full set of parameters (in which case settings associated with undefined parameters will be reset to default). This allows scripts to pass the object returned by getConfig() to applyConfig() in all cases.
- The networkconfiguration JavaScript object now accepts clientCertificate Boolean values that are false.
Bug Fixes
- 31138: (XT1144) Players can now output to HDCP 2.2 displays from an HDMI input source that uses HDCP 1.4.
- 31248: The AddDNSServer() method no longer fails if ResetInterfaceSettings() has been called on the same instance.
- 31136: roNetworkConfiguration methods can once again be used to clear current wireless settings.
- 30910: Firmware updates with safe mode now work when the player storage is encrypted.
- 31210: (XT244, XT1144) The EncryptStorage() method now works with generated keys.
- 31231: The GetStorageStatus() method now reports the correct status when external storage is disabled.
- 30968: The AddSurface() method no longer distorts colors with JPEG images.
7.1.53
New Features
- Support for PKCS8 private key parsing
Improvements
- Encrypted playback APIs now support string keys in addition to hex keys.
Bug Fixes
- Players no longer crash when reading a directory from a broken filesystem.
Known Issues
- HDCP 1.4 does not work with HDMI input or output that is hotplugged after the player boots up. Connect HDMI input/output cables before boot to ensure correct HDCP 1.4 functionality.
- (XT1144) Players cannot output to HDCP 2.2 displays from an HDMI input source that uses HDCP 1.4.
7.1.49
New Features
- Support for HDCP 2.2: This is a Beta feature and not currently recommended for production environments.
- New SetSyncManager() method, which allows you to enable Genlock via JavaScript
- New storageinfo JavaScript object, which provides usage information for storage devices
- New Pause() and Resume() methods on the BSTicker JavaScript object
- New Raise() and Lower() methods for BrightScript objects that implement the ifWidget interface (roTextWidget, roImageWidget, etc.). This allows for detailed z-order control of the graphics plane.
- New SetForwardingPolicy() method, which allows you to use the BrightSign player as a router for other networked devices
- New x-bs-intrinsic-width and x-bs-intrinsic-height attributes for HTML <video> elements: These ensure the aspect ratio of the source video is maintained when scaled to fit the element.
- New SetHdmiMetadata() method
- Support for the 1200x1920x60p resolution
- (XTx44, XTx43, XDx34, XDx33) Support for the 3840x1080x25/30/50/60p resolutions
Improvements
- The speed at which data is unzipped to an exFAT-formatted drive has been improved.
- Players now work with very large (e.g. 4TB) USB storage devices formatted as exFAT.
- The ConfigureDhcpServer() method now accepts "nameservers", "ip4_gateway", and "domain" parameters for DNS configuration.
- The roJRE Java runtime environment object has been updated to Java 8.
- The roNetworkConfiguration object can now be used to configure network interfaces that are not currently present. To do so, specify the network interface by name rather than numeric index.
- When the DHCP server is enabled on the player, you can now retrieve configuration information from the following DWS URLs: "http://<brightsign-ip>/dhcp-server.html" or "http://<brightsign-ip>/dhcp-server.txt".
- js modules that are loaded with require() can now use BrightSign JavaScript objects.
- The Chromium Web Inspector can now perform memory heap dumps to an SD card or SSD device.
- The roKeyStore object can now be used to register client certificates for streaming media.
- The SetLocalStorageDir() and SetLocalStorageQuota() settings once again persist after an roHtmlWidget instance is destroyed.
- The roHtmlWidget object now generates a "download-request" event when Chromium encounters a MIME type it doesn't understand (e.g. a PDF), rather than attempting to download it. The event contains the download URL and the reported MIME type of the file.
- The Chromium engine can now create a dummy tab to initialize a PDF renderer.
- The roHtmlWidget storage methods and the CreateDirectory() global function now throw an exception if you attempt to create directories on storage drives that have not been mounted.
- The rendering speed has been improved for roCanvasWidget instances containing large numbers of text.
- Streaming video playback now supports AES-CBC decryption.
Bug Fixes
- 30269: The HDMI input signal no longer becomes distorted after switching away from a presentation that displays portrait HDMI Input (at 1080x1920x60p/i) and back to it.
- 30405: Remote Snapshot now works with presentations that display both HDMI input and a second video source.
- 30437: Synchronization works between slave units running 7.x firmware and a master unit running 6.x firmware. Note that the reverse configuration (a 7.x master controlling 6.x slaves) is not supported.
- 30708: Video Timecode events no longer trigger twice during a video that has been paused/played.
- 30774: Support for BT.2020 CL output has been disabled. This fixes a purple-tint issue associated with the 3940x2160 output on certain Sony displays.
- 30271: PNG files with excessively large metadata sections no longer cause players to crash.
- 30136: (HO523) IR input via the blue 3.5mm jack now works correctly.
- 30686: The roVirtualKeyboard functionality has been fixed.
- 30696: The mechanisms for disabling external storage have been fixed.
- 30767: Bit errors in a DVB subtitle track no longer cause it to stop working after a certain amount of time.
- 30931: Issues with the region size or region ID of DVB subtitles no longer cause a crash.
- 29991: Node.js applications can now write files and create directories on SSDs that are formatted with the ext4 file system.
- 30942: Fixed roHtmlWidget download-performance issues when using a proxy that accepts HTTP connections but can get either HTTP or HTTPS URLs.
- 30352: Players no longer crash intermittently when using HTML to play streaming video containing numerous subtitles.
- 30824: HTML <video> elements now correctly support "file:" URIs containing "%20" encoded spaces.
- 30656: When using the pre-routed audio mode, the PlayFile() method no longer returns true if there are no audio decoders available to play a track.
- 30477: The player log no longer generates "No mapping for key 330" messages whenever a touch event is received from certain HID touchscreens.
- 30812: Crash dumps generated by the player will now report the correct time and date (though this is not guaranteed in all instances).
- 30825: Taking frequent screen captures no longer causes a crash.
- 30231: Attempting to output USB audio from an HDMI input source no longer causes the player to crash.
- 30232: USB audio glitches no longer occur when system memory is heavily taxed.
- 30161: Players now correctly read character strings from the NephSystem N380 RFID reader/writer.
- 30666: The roAssetFetcher and roSyncPool objects once again work when assets lack the <size>
- 30033: The roAssetFetcher object now correctly resumes large file downloads after a power cycle (in-progress downloads are written to storage every 15 minutes).
- 30137: Enabling the WiFi interface no longer creates the possibility that Ethernet VLANs will be disconnected when the player reboots.
- 30107: Passing an empty associative array to the ConfigureDHCPServer() method now correctly disables the DHCP server.
7.0.60
New Features
- Support for AES-CBC-encrypted audio/video files
Improvements
- HTML pages now support CSS perspective transforms with intersecting quads.
- A security patch has been implemented for CVE-2017-1000410.
Bug Fixes
- 29959: PES video files containing audio no longer fail to play.
- 29788: Genlock is now frame accurate with drop-frame video modes (e.g. 59.94p).
7.0.55
Improvements
- Passing an invalid transform value to the SetTransform() method no longer causes a crash.
Bug Fixes
- 29811: Some rotated/transposed videos no longer fail to appear during the first play through.
- 26070:(XT1143) The audio/video of the HDMI input no longer slowly drifts out of sync with some HDMI sources.
- 28592:(XT1143) Hot plugging an HDMI input source or changing its resolution no longer causes its audio to be dropped.
- 29792: (LS423) The fix for Hama SD cards is now applied during a Safe Mode firmware update as well.
- 29734: HTML IFrames with CSS animation now render correctly when the page is rotated.
- 29783: (XT1143) Switching from compressed audio to PCM audio on the HDMI input no longer causes audio to be dropped.
- 29773: There are no longer intermittent lockups when attempting to enumerate Bluetooth characteristics.
7.0.45
Improvements
- The roAssetFetcher object will now resume downloads that have been interrupted by a player reboot.
Bug Fixes
- 29425: Presentations that use Enhanced Synchronization and are published via Local File Networking no longer crash.
- 29397: Setting the audio properties of a presentation to Mixed Audio PCM / Compressed no longer causes HDMI audio silence. This behavior only occurred on some displays.
- 29528: The player no longer crashes when attempting to display an HTML page containing a PNG image that exceeds maximum image-size limits.
- 29387: Hotplugging HDMI output while playing HDMI input no longer causes occasional crashes.
- 29401: The following curl vulnerabilities have been patched: CVE-2017-8816 (NTLM auth buffer overflow) and CVE-2017-8818 (SSL buffer overrun).
- 29693: (XTx43, XDx33) Players now support 4K H.265 videos that have been encoded using Apple Compressor version 4.4.
- 29150: The SetPowerSaveMode() BrightScript-JavaScript method now works.
- 29391: Attempting to create an roMediaStreamer pipeline containing an "undefined" GStreamer component no longer causes the player to crash.
- 29322: There have been a number of fixes to the stream matching rules for the preferred audio, video, and subtitles methods:
- Greater-than rules are no longer applied as greater-than-or-equal-to.
- The "," and ";" characters can now be escaped.
- Patterns no longer match shorter target search terms (e.g. "codec=A" no longer matches "codec=AAC" and "codec=AC3").
7.0.33
Improvements
- The Dropbear SSH client/server has been updated to version 2017.75.
- The roAssetPool object now offers the MoveFileIntoPool() method
- Rather than rebooting the player, setting a new video mode now causes the application to restart.
- Embedded credentials that are supplied in a proxy URL are now honored.
- HTML mouse/touch events are now disabled by default.
- (XTx43, XDx33) The time it takes to tune to video-only streams encoded by the player has been reduced.
- Series 3 players now support all MPCDI levels.
- Players now support enabling secondary functions on GPIO pins.
- NodeJS can now be enabled without writing to the player registry.
- The roHtmlWidget object now contains the port initialization parameter, which allows the BrightScript message port to be set at the point of object creation.
- The roHtmlWidget object now allows for injecting JavaScript via the javascript_injection initialization parameter and InjectJavaScript()
- The MapFilesFromAssetPool() method now supports multiple asset pools.
- The visibility of the BSTicker widget is now updated when the visibility of the parent HTML widget changes (via Hide()/Show() calls).
- The roHtmlWidget object can now be configured to accept invalid/unknown certificates with an HTTPS URL.
- The roHtmlWidget object now has SetProxy() and SetProxyBypass() These allow you to set the Proxy auto-config (PAC) for HTML URLs.
- BrightSign-specific attributes can now be set individually in HTML <video> elements rather than being contained in the brightsign-properties
- The GetStreamInfo() method now returns additional information about video streams.
- The GetStreamStatistics() method now returns PCR data.
- The roBrightPackage object now supports .zip files larger than 2GB.
- The roHttpServer object now supports HTTPS.
- The roKeyStore object now supports multiple CA certificates in a PEM file.
- The ifWidget BrightScript interface now offers SetAlpha() and GetRectanlge()
- If a video player fails to decode any frames at the beginning of playback, it now sends a MediaEnded
- Passing a timestamp value of "" or "0" to the SetSyncParams() method now clears synchronization properties.
- The roAssetPool, roSyncPool, and roAssetCollection objects now support the following SHA2 algorithms: SHA224, SHA256, SHA384, and SHA512.
- Players now support Safe Mode firmware updates from storage devices that are encrypted using the EncryptStorage() method.
- Using the AddSwapFile() method with an SSD now enables a larger JavaScript heap by default.
- The CurrentPosition() method (available on the roAppendFile, roCreateFile, roReadFile, and roReadWriteFile objects) now returns a double value rather than an integer. This allows for correct return values with files that are larger than 2GiB.
- The new "usb-first" registry setting allows USB-to-serial adapters to appear as port 0.
- Players can now configure their NTP server setting from a DHCP response.
- The GetUSBTopology() method now returns JSON by default. This output also contains the friendly ID (fid) by default as well.
Bug Fixes
- 25788: 3D video playback has been fixed.
- 29288: Playback of SD video from the HDMI input no longer exhibits corruption at 4096x2160 video modes.
- 27256: Video that reports its seekable end range as NaN no longer freezes on the last frame of playback in HTML.
- 29089: Playing a second HTTPS video stream no longer causes the player to crash.
- 28275: The SFTP implementation on the player has been fixed.
- 29026: Using advanced audio routing with multicast streaming playback no longer causes a crash.
- 29140: Problems with 44.1kHz USB audio output have been fixed.
- 28862 (Device Setup): If the player detects a corrupt card, it will display an appropriate message on screen rather than running Device Setup.
- 27079 (Device Setup): Setting a static IP address on the Change Ethernet Settings or Change Wireless Settings page will now immediately save the new network settings (i.e. rebooting a player after completing this page will cause it to come up with the new settings).
- 26526 (Device Setup): Simple File Network and Local File Network configurations are no longer wiped from the player if a blank SD card is inserted after the Device Setup process is completed.
- 29180: The GetStreamInfo() method (and related operations in HTML/JavaScript) now correctly detects CAE608/CAE708 subtitle tracks. It also provides sufficient information about the tracks to differentiate among them.
- 27714: When simultaneously displaying and encoding/streaming HDMI input, both outputs now contain audio.
- 27931: Unresponsive multi-touch HTML event issues have been resolved.
- 26798:(XTx43, XDx33) Video windows that have a width less than 1920 or height less than 1088 but have a total screen area larger than HD video (e.g. 2400x240) will now be played by the 4K video decoder rather than being treated as unsupported.
- 26815: Playback of interlaced H.265 video no longer appears squeezed horizontally.
- 28464: A number of issues with variant HLS streams have been fixed.
- 28776: Right-to-left languages now scroll correctly across screens in a multiscreen ticker.
- 27525: Clock zones now display the date in portrait mode.
- 27957: Emojis are now displayed on the slave screens of a multiscreen ticker.
- 27436: Players now correctly display the firmware-update splash screen during the firmware-update process. This fix applies to firmware updates from 7.0.24 to other versions.
- 29027: Players once again pass through TrueHD and DTSHD audio codecs.
- 27505: The Node.js https module can now successfully download files from HTTPS servers.
- 28340: The HTML rendering engine can now retrieve pages from servers that use the .local hostname with mDNS.
- 28858: The language property returned by the HTML rendering engine now conforms to ISO-639.
- 28737: The CanPlayType() JavaScript method now correctly reports H.265 and VP9 support.
- 28707: HTML <video> elements are now correctly removed when .remove() is called during a CSS transform.
- 28951: HTML <video> elements once again mute compressed audio to HDMI and SPDIF by default.
- 25014: HTML <select> elements no longer flicker in portrait mode.
- 28198: The BSSyncManager JavaScript object no longer drops events that occur before the onsyncevent is received.
- 28308: Repeatedly creating and destroying roSyncManager instances will no longer lead to a crash.
- 28545: The PlayStaticImage() method now works when streaming the display.
- 29227: Setting a portrait video to non-seamless lopping with the SetLoopMode() method no longer causes the video to freeze after the first iteration.
- 28733: The roMediaStreamer object now provides an accurate PCR with UDP and RTP streams.
- 28130: The AddSwapFile() method now works with exFAT storage devices.
- 27270: The auth_passwrd parameter returned by the GetAssetList() method is now spelled auth_password.
- 27569: The system log no longer incorrectly reports the audio sampling rate of streaming MP3
Known Issues with Beta Release
- Players that are simultaneously playing and streaming transport streams will experience playback issues.
7.0.19
New Features
- New JavaScript API: A substantial BrightScript functionality is now available through a new set of JavaScript objects.
- Full-resolution graphics: XTx43 models can render graphics at resolutions up to 3840x2160x30p.
- Encoding upgrade: XTx43 models support encode framerates up to 60p.
- Quad-HD decode: XTx43 models support simultaneous decode of four HD video streams.
- Genlock support via roSyncManager
- Java 8 support (via roJRE)
- HTML graphics improvements: The Qt compositor has been replaced with a dedicated GL compositor.
- Advanced audio routing: Support for fine-grained mixing of PCM sources with audio outputs
- Revamped ticker API
- HLS streaming improvements: Support for alternate audio and variant playlists in HLS streams.
- WebGL video support
Improvements
- The WPA2 implementation has been patched to account for KRAK vulnerabilities.
- Series 3 players now support all MPCDI levels.
- NodeJS can now be enabled without writing to the player registry.
- The roBrightPackage object now supports .zip files larger than 2GB.
- The roHttpServer object now supports HTTPS.
- HTML <video> elements now default to the "scale-to-fill" video mode (i.e. videos scale to fit the aspect ratio of a <video> element). This fixes issues seen when adjusting the aspect ratio of a video window with CSS.
Known Issues with Beta Release
- Playback of HDMI input often lacks audio on the first attempt after bootup.
- Players that are simultaneously playing and streaming transport streams will experience playback issues.
- Attempting to use the PlayStaticImage() method when streaming the presentation display will cause a crash.
6.2.147.9
Bug Fixes
- 29154: The LS423 no longer reports supporting the 1V8 voltage level for microSD cards. This resolves incompatibility issues with Hama microSD cards.
6.2.147.2
Improvements
- The WPA2 implementation has been patched to account for KRACK vulnerabilities.
6.2.147
New Features
- Support for color emojis in HTML
- Support for IGMPv3 Source Specific Multicast streaming
- 802.1Q (VLAN) support
- (XTx43) PoE Type 1 support
- Support for ELO devices with the 2515-07 touch controller
- Full support for the 1920x540x60p video mode
- Support for WebSQL and the Filesystem API
- New roNetworkConfiguration.ConfigureDHCPServer() method, which allows you to set up a DHCP server on the Ethernet port
- New roDeviceCustomization.EncryptStorage() method, which allows you to encrypt the contents of storage devices connected to a player.
Improvements
- Support has been reinstated for the following URL streaming parameters: latency, vcdbsize, acdbsize, timeout, and jitter.
- (XTx43, XDx33) Players now automatically output BT.2020 when a 4K monitor reports supporting it over EDID.
- Interactive Menu states now support transparency in icons/buttons.
- You can now format storage devices as exFAT in the Diagnostics tab of the Diagnostic Web Server (DWS).
- Clicking on the usage meter of a storage device in the DWS now also yields information about the file system in use.
- New "usb_first" registry setting allows you to set the USB port as serial port 0. This is useful when using a USB-to-serial adapter for RS232 functionality on a Series 3 model.
- The roVideoPlayer.PlayFile() BrightScript method and brightsign-properties HTML attribute now support jitter values.
- When parsing media streams (e.g. with SetPreferredAudio()), you can now select the stream by program using the prog parameter.
- HTML <audio> tags now support the JavaScript SetSyncParams method and the preferredaudio attribute.
- (XTx43, XDx33) It's once again possible to have two rotated HTML videos with an area totaling more than 1080p. This will generate a warning in the log and may cause video artifacts.
- The roAudioPlayer object now supports the SetPreferredAudio() method.
- New SetMaximumReceiveBytesPerSecond() method allows you to rate limit file downloads. This method is available on the roUrlTransfer, roAssetFetcher, and roSyncPool objects
- New SetMaximumSendBytesPerSecond() method allows you to rate limit file uploads. This method is available on the roUrlTransfer object.
Bug Fixes
- Enhanced Audio zones work again.
- (XDx43, XDx33) Players now correctly output 10-bit video (rather than downgrading it to 8 bit).
- HLS streams are now less likely to stutter at startup.
- Ticker zone text is no longer clipped when using certain fonts.
- (LS423) Video rotation is now supported up to 1920x1080x30p.
- (XTx43, XDx33) 1080i HDMI input that is upscaled to 4K now displays correctly.
- 3G modem support has been fixed.
- Secure Boot (Safe Mode) now works with firmware update files on exFAT-formatted storage devices.
- Clicking on the usage meter of a USB storage drive in the Diagnostic Web Server (DWS) no longer returns a 404 page.
- The DWS storage tab now correctly reports the characteristics of a storage device after it has been formatted using the DWS.
- WiFi packet capture on the DWS now works.
- Playback of HDMI Input from cable/satellite boxes no longer exhibits intermittent audio dropout issues.
- DVB Subtitles are now displayed with streaming video playback.
- Streaming from the same multicast IP address with multiple players no longer causes playback to fail.
- Enhanced synchronization now works with audio-only MP4 files.
- Passing a string value (rather than an integer) to the StreamFadeIn parameter of the brightsign-properties HTML attribute no longer causes the player to crash (though this practice is still not recommended).
- A player will no longer crash/hang if it makes an AJAX request containing null or incorrect credentials to a URL that requires authentication.
- Seamless looping no longer fails with HTTP streams.
- Non-HTTP streams once again fade in by default.
- (XTx43) An encode/stream of the HDMI input no longer becomes corrupted over time.
- (XTx43, XDx33) Re-encoding a stream and streaming it out no longer fails after a period of time.
- Players no longer fail to display HTML video that doesn't have explicit dimensions.
- Attempting to play back non-HWZ video in Mosaic Mode no longer causes a crash.
- The security_params initialization parameter for roHtmlWidget has been fixed.
- Calling SetURL() more than once on an roHtmlWidget instance no longer causes the load-finished event to be returned twice.
- The roVirtualMemory.AddSwapFile() method no longer fills up all memory on the drive if you attempt to create a swap file larger than 4GiB.
- When parsing media streams (e.g. with SetPreferredAudio()), the firmware now selects the PCR and PMTs correctly.
- Players will no longer crash when closing a video window containing video with CEA subtitles.
- roBtClientManager can now correctly writes BLE characteristic strings that are greater than 184 characters long.
- The Eddystone-UID beacon format now supports the tx_power field.
- Switching from standard WiFi client mode to access-point mode and back no longer causes players to become unresponsive to ARP requests.
- The roNetworkConfiguration.GetCurrentConfig() method no longer causes memory leaks.
- (XTx43) Players now correctly echo the power allocation received in LLDP packets from power sourcing equipment (PSE).
- (XTx43) Players now correctly report themselves over LLDP as a class 4 powered device (PD).
- Players at boot now wait longer for the DHCP server before using the link-local address.
6.2.94
New Features
- Support for the exFAT file system
- Support for the EIZO DuraVision FDF2121WT touchscreen
- Node.js support
- Support for the PEAPv0/MSCHAPv2 wireless protocol
Improvements
- Like earlier models, Series 3 models now light the busy (Bsy) LED during successful boot initialization.
- Buttons in the Control tab of the Diagnostic Web Server (DWS) now have descriptions.
- The properties of an roHtmlWidget object can now be configured at initialization with an roAssociativeArray.
- HTML pages now support HLS streaming playback.
- New BSVideoMode.SetPowerSave() method allows you to send compatible monitors into standby mode via JavaScript.
- The SetWebDatabaseQuota() method can now accept values greater than 0xfffffff. It can also accept either a string or an integer.
- Setting the src of a <video> element to an empty string now releases the video decoder from that element.
- Output from console.log is now passed to the console in Web Inspector.
- The roNetworkConfiguration object offers the following new methods: SetDNSServers(), ResetInterfaceSettings(), and ResetHostSettings().
- New SetMtu() method allows you to set the maximum transmission unit (MTU) for the network interface. Note that the roNetworkConfiguration.GetCurrentConfig() method currently does not return the MTU setting.
- The roTCPStream object now supports connecting to IPv6 addresses.
- It's now possible to view kernel output via Telnet.
Bug Fixes
- (XTx43, XDx33) HTML 4K video playback no longer fails when it is preceded by dual HD video decode.
- A scrolling ticker will no longer repeat the last item from a Live Data feed.
- Playback no longer drops the last few frames from the end of an RTSP stream.
- Calling ForceGPURasterization(false) on an roHtmlWidget instance now correctly disables GPU rasterization.
- Adding too many strings to a BSTicker instance (64 or more, depending on the length of the strings) now results in a 0 (false) return, rather than a crash.
- Attempting to access the JavaScript date/time using a worker thread no longer causes the player to crash.
- Using the autoplay attribute with HTML <video> elements no longer causes resizing issues with the HTML widget rectangle.
- Creating and destroying large numbers of HTML <video> elements no longer causes black frames to be displayed before the videos start.
- The roBtManager object now accepts the tx_power value for Eddystone-URL beacons.
- The roMediaStreamer object now generates an end-of-stream event when a local file finishes streaming.
- The GetCurrentConfig() method now continually updates the wifi_signal parameter after the initial measurement.
- The timeout for IPv4 link-local addresses has been changed back to 30 seconds (the same as on firmware 6.0.x).
- The roSnmpAgent object now correctly sets custom OIDs.
6.2.63
New Features
- (XTx43, XDx33) Support for the following video modes: 2048x1152x60p, 2560x1080x60p, 2560x1440x60p/30p, 2560x1600x60p, and 3440x1440x60p/50p/30p
- Support for streamed .wav audio files
Improvements
- (4Kx42) Boot up time has been reduced.
- (4Kx42) Changes to the background color of a screen are now reflected in streams of the display.
- HTML <video> elements now support blob URL sources. This allows playback of files that are stored locally using FileAPI or IndexDB.
- (HDx23, LS423) Models with a single video decoder are now better able to handle swapping among active HTML <video> elements.
- There is no longer a delay when playing a stream that contains DVB teletext.
- (XTx43, XDx33) The background color of a presentation is now reflected in an encode/stream of the display.
- (XTx43, XDx33) The H.264 video encoder has been improved to High profile with B-frames.
- You can now disable support for external storage devices (i.e. microSD and USB) by adding internal_only : true to the storage section of the registry.
- The roDeviceInfo.HasFeature() method now supports the "HEVC decode" parameter.
- Switching between MPEG-2 video streams is now much more responsive.
- The performance of the scrolling ticker has been improved. The improvements will be more noticeable on XDx32 and HDx22 models.
- Players no longer crash when attempting to play a stream with an unsupported protocol.
- (XTx43/XDx33) The performance of rotated/transposed HTML video has been improved.
- (HDx23, LS423) The render time for large numbers of graphics zones has been reduced.
- The "Please Insert Card" splash-screen instructions have been clarified.
- A player will now attempt to set its clock immediately upon connecting to a network.
- (XTx43, 4Kx42, XDx32) The Diagnostic Web Server now reports Type 2 PoE that has been negotiated over LLDP.
Bug Fixes
- Players no longer crash intermittently when playing .ogg video streams.
- (XTx43) The 1920x1200 video mode has been fixed.
- (4Kx42) Graphics elements now exhibit the correct framerate when encoding the display to a file.
- (HDx23, LS423) Players no longer encounter OOM errors when there are multiple HTML <video> elements in the DOM.
- (HDx23, LS423) Interlaced HTML video now displays at the correct size when HWZ mode is disabled. Note that playing interlaced video with HWZ mode disabled is not a recommended use case.
- (XTx43, XDx33) Streaming the display now works with 4K video modes.
- (XTx43, XDx33) The initial state of the graphics layer is now correctly represented in streams of the display.
- Static Domain Name configurations are now applied to WiFi/3G connections.
- (HDx23, LS423) It's now possible to perform a firmware update from Rescue Mode via USB.
- (XT1143) Live Video (HDMI input) states now work with portrait-mode presentations.
- (XTx43, XDx33) 4096x2160 video modes now display correctly.
- (XTx43, XDx33) 10-bit 4K video modes at 75p now display correctly.
- (HDx23, LS423) The 1280x720x24p and 1280x720x23.976p video modes now work.
- (XT1143) 10-bit 4K video modes from the HDMI input now display correctly.
- (XT1143) Video from HDMI input now respects volume settings.
- (XT1143) HDMI input sources will now correctly downgrade to HDCP 1.x when playing HDCP 2.x video.
- (XTx43, XDx33) Players now recognize the Iguanaworks IR controller on startup.
- (HDx23, LS423) Inserting and removing a microSD card quickly no longer causes the player to crash.
- (XDx32) It's now possible to perform a firmware update from Rescue Mode via USB.
- (XDx32) Switching between 2D and 3D modes has been fixed.
- (XT1142) Live Video (HDMI In) states now work with portrait-mode presentations.
- (4K1142, XD1132) Video from HDMI input no longer stutters when the input is initialized.
- (XDx32) Seagate SRD00F1 storage drives work with XDx32 players again.
6.2.45
Improvements
- The interface for uploading/deleting files on the Diagnostic Web Server has been improved.
- The SetPreferredVideo() and SetPreferredAudio() methods on the roVideoPlayer object now support streaming video.
- The roHtmlWidget object now supports the following audio-configuration methods:
- SetPcmAudioOutputs(a As Object) As Boolean
- SetMultichannelAudioOutputs(a As Object) As Boolean
- SetCompressedAudioOutputs(a As Object) As Boolean
- HTML pages now support video playback from the Logitech ZC3XX USB camera.
- A player will now automatically substitute its physical address into the message payload of the following CEC messages: ActiveSource, InactiveSource, SetStreamPath, SystemAudioModeRequest, RequestCurrentLatency, InactiveSource, SystemAudioModeRequest.
- The roCecInterface object now supports the GetPhysicalAddress()
- A player will now send a CEC user message even if it hasn't yet negotiated a logical address.
Bug Fixes
- Overloading a multi-touch screen (for example, by having four hands press it at once) no longer causes touch input to lock up for several minutes.
- Displaying multiple scrolling tickers no longer causes them to flicker.
- Rather than causing the player to crash, attempting to display more than 10 scrolling tickers (or nine if there is a mouse cursor) now simply doesn't work.
- (XTx43) The player will no longer crash when attempting to display more than 12 Mosaic Mode video zones.
- The OpenGL glTexImage2D() function now works when you pass it an unsized depth component.
- Continuously loading HTML pages that contain non-HWZ video no longer causes an eventual crash.
- (HDx23) An HTML page with several non-HWZ videos listed in its DOM will no longer run out of memory after a few minutes.
- The GetOpacity() and SetOpacity() methods on the roVideoPlayer object have been fixed.
6.2.39
Known Issues / Limitations
- YouTube live streams do not work currently (however, non-live streams are supported).
- The latency parameter no longer affects latency when appended to a streaming URL (though playback will still work). To configure streaming latency, use the new SetProperties() method in BrightScript or "brightsign-properties" attribute in the HTML <video> tag.
- Overloading a multi-touch screen (for example, by having four hands press it at once) causes touch input to lock up for several minutes.
- The OpenGL glTexImage2D() function does not work if you pass it an unsized depth component.
New Features
- Support for the XTx43, XDx33, HDx23, and LS423 models
- On-screen device setup
- Support for HDCP 2.2 (on HDMI output only)
- New Factory Reset option in the Control tab of the DWS
- New SetProperties() and GetProperties() methods for the roVideoPlayer object, as well as a new "brightsign-properties" attribute for the HTML <video> These allow you to specify various video attributes (streaming latency, z-order, rotation, etc.) using a single string or associative array.
- New SetUserAgentSuffix() and GetUserAgent() methods for the roHtmlWidget object
Improvements
- The framerate of HTML 2D canvas animations has been improved.
- The new low_latency parameter for RTSP streams allows you to achieve much lower latency than normal, but at reduced maximum bitrates: "rtsp://example/media.amp?low_latency".
- The file and directory ordering in the Storage tab of the DWS has been improved. For example, files are now listed in alphanumeric order, making it easier to locate the newest device screenshots.
- (XTx43) The DWS now reports whether the player is using Type 1 (12.5W) or Type 2 (25W) PoE.
- If the file-system check is taking a long time at startup, the splash screen will display "Checking FileSystems…".
- New Enable2DCanvasAcceleration() method allows you to improve 2D canvas animation, but there is a risk of GPU OOM errors if there are too many elements on the screen. This feature can be enabled in HTML by calling canvasElement.getContext("2d", {accelerated2d:true}).
- GPU rasterization is now enabled by default: You don't need to call ForceGPURasterization(true) to enable this feature any longer.
- HTML <video> video elements now support EncryptionKey and EncryptionAlgorithm attributes for decoding encrypted files and streams.
- A JavaScript "error" event is now triggered for an HLS or UDP stream when the URL is incorrect or data cannot be retrieved from the server.
- The BSCECReceiverEvent JavaScript object now supports the getBytes() method, which allows you to retrieve CEC data as an ArrayBuffer.
- New GetStorageStatus() method allows you to determine the current status of a storage device, even if it is not mounted/formatted yet.
- The roStreamQueue object now supports the SetPreferredVideo() and SetPreferredAudio()
- (XTx43/XDx33) Players will now output HDR video if you hot plug an HDR-compatible display while playing HDR content.
- Holding the SVC button while the player boots up will now always prevent the autorun from executing.
- Pressing the Reset button now results in a reboot even if the GPIO control port has not been opened via roControlPort.
Bug Fixes
- (XTx43, XDx33) Video zones and Background Image zones can once again be displayed simultaneously.
- If a video stream is paused and then restarted, attempting to pause it a second time now works.
- Tickers now correctly render all characters in long UTF-8 strings.
- Screenshots now correctly represent display output when it contains 1080i video playback.
- (XTx43/XDx33) Bitrate spikes in 4K playback are now handled more smoothly.
- Tapping a multi-touch screen several times in a short span of time no longer causes the player to crash.
- The SetLocalStorageQuota() method has been fixed.
- HDMI input now works on HTML pages when HWZ mode is disabled.
- The player no longer reboots if you use HTML to play a streaming URL that contains commas.
- Attempting to display an HTML page that uses the Web Audio API, which BrightSign players do not currently support, no longer causes the player to crash.
- Video playback will no longer stop if load() is called on an HTML video tag at the same time playback of the previous video stops.
- HTML <select> elements now work correctly with up/down keyboard presses.
- The Enter keypress event for HTML forms has been fixed.
- The player will no longer crash if you destroy an roHtmlWidget while interacting with an HTML pop-up window.
- The player will no longer crash if you assign, then remove, mosaic mode from a video decoder and attempt to play video.
- The player will no longer crash if you attempt to quit a non-TS stream containing multiple audio channels.
- Using SetPlaybackSpeed(0) to pause video playback for more than 150 seconds no longer generates an erroneous media end event.
- Players will no longer crash when attempting to play HLS streams consisting of raw audio segments only.
- Passing a 0,0 rectangle to SetSafeTextRegion() no longer causes the player to crash.
- The ProtectAssets() method no longer blocks for a long period of time when there are multiple asset-pool threads operating simultaneously.
- Reusing an SQL statement with roSqlite no longer causes the player to crash.
6.1.76
Limitations
- (4Kx42) USB3 Super Speed (XHCI) support has been disabled.
- (4Kx42, XDx32) DTCP encryption/decryption support has been disabled.
New Features
- Support for storage devices with sizes up to 1TB
- Multi-touch support for the NEC OVL-V463 touch screen
- New roBtManager and BSBtManager objects, which allow players to transmit using USB BLE beacons
- WebRTC support for HTML widgets
Improvements
- (4Kx42) The Diagnostic Web Server (DWS) now reports when a connected 4K display supports the following HDR protocols: BT2020 RGB, BT2020 YCbCr, SDR EOTF, ST2084 EOTF.
- The Log page on the Diagnostic Web Server (DWS) now contains a link below the log output for saving crash dumps.
- The Diagnostic Web Server now displays the WiFi signal if the player is connected to a wireless network.
- The roRtspStream object is no longer required to play a video stream; streaming URLs can now be played directly using the PlayFile() method, as shown in the following example:
v.PlayFile({url:"http://172.30.1.37/file.ts"}) - The roVideoPlayer object now generates event 30 (MediaError_NotStarted) when a video fails to start. For backwards compatibility, event 16 (MediaError) is generated as well.
- New allow_seamless parameter for SetLoopMode() makes it possible to configure video playback to loop non-seamlessly in all cases, as shown in the following example:
v.SetLoopMode({enable:true,allow_seamless:false}) - (4Kx42) The GetEdidIdentity() method now returns the following values related to 4K HDR support: bt2020_rgb_support, bt2020_ycc_support, hdr_st2084_support, sdr_eotf_support, hdr_eotf_support.
- (4Kx42) New OverrideHDMIDynamicMastering() method allows you to override the HDR mode set by the video content.
- The AsyncMethod() method now accepts the output_object parameter, which enables processing of a downloaded HTTP body before passing it to an object.
- New roKeyStore object allows you to add client certificates to HTML widgets.
- (4Kx42) The EnableSecurity() method now accepts an associative array with websecurity and camera_enabled keys. This allows a webpage access to a USB camera connected to the player.
- Players now ignore the "viewport" parameter in the <meta> tag of an HTML page. This behavior is equivalent to desktop browsers.
- The SetHWZDefault() method now accepts "on" and "off" values when there are other parameters in the string. In this case, "on" is equivalent to "z-index:1" and "off" is equivalent to
"z-index:0". - The GetStreamInfo() method now returns the framerate of the current video.
- (XDx30) The maximum instantaneous bitrate for Media Server RTSP streams has been increased.
- PTP packets are now marked as DSCP EF (46).
Bug Fixes
- HDMI-input playback via HTML has been fixed.
- Playback of portrait-mode HD video (1080x1920) has been fixed.
- (4Kx42) MJPEG video windows now display correctly with 4K video modes.
- (4Kx42) Players now correctly output the max luminosity of HDR 4K videos.
- (4Kx42) HTML pages that download numerous high-resolution images no longer cause the player to crash.
- HTML pages are now responsive to mouse inputs at the edges of the page.
- Playing an HTML video that has 44.1kHz audio no longer causes the screen to go blank momentarily. This issue would occur the first time after presentation start or after playing a video with 48kHz audio.
- RTSP streaming video now plays correctly when preceded by an HTTP streaming video.
- Time-server configuration no longer fails if the specified URL for the NTP server contains a trailing slash (e.g. "ntp://time.brightsignnetwork.com/").
- When downgrading firmware versions on a player, the progress bar is once again displayed on screen.
- The Logitech Wireless Presenter R400 works with BrightSign players again.
- DVB subtitles now display correctly.
- Multichannel AAC is supported again.
- HDMI-input audio passthrough no longer fails on some Blu-Ray players when switching from a disc with ATMOS audio to a disc with DTS audio.
- HDMI-input passthrough of Dolby Digital Plus audio no longer exhibits breakups with some Sony and Marantz Blu-ray players.
- HWZ-enabled <video> elements now support scale() and translate() CSS animations.
- Clearing the src of an HTML <video> element now stops playback of HDMI input.
- A long HTML video in a playlist will no longer play twice periodically.
- JavaScript now correctly generates an ended() event when a network dropout causes an HWZ HTML <video> element to stop streaming.
- Widgets generated using AngularJS now respect the SetTransform() orientation of the parent HTML widget.
- If a video zone displaying HDMI input causes Mosaic Mode resources to be over-allocated, the player will return the appropriate response in JavaScript/BrightScript (rather than crashing).
- A Mosaic Mode video window will now display correctly when it has an odd width and/or height and is located at the edge of the screen.
- Players no longer crash when taking a screenshot of a video that is scaled down by a factor greater than 16.
- The GetStreamInfo() method now correctly reports the VideoColorDepth of video files that have a 10-bit color depth.
- The Diagnostic Web Server now appropriately sets the TTL when querying remote PTP servers.
6.1.37
Known Issues
- Seamless looping doesn't work with MOV/MP4 HTTP streams.
- BrightWall synchronization drifts over time when playing multicast video.
- New Mosaic Mode API lacks Z-ordering control.
- YouTube playback is broken when video is preceded by an advertisement.
- Video positioning for portrait-mode HTML video does not work with HWZ disabled. When HWZ is enabled, positioning will be broken for the first play through only.
- When downgrading from this firmware version, the progress bar will fail to display on screen.
New Features
- (4Kx42) Support for HDR video (CEA HDR10)
- Support for HTML Media Source Extensions (e.g. YouTube live streams)
- Left-to-right scrolling support for Ticker zones (the direction is determined automatically by the language of the text added to the ticker)
- Support for the Acer UT220HQL multi-touch monitor
- Support for the Unitec USB touch foil
- Fade-in/fade-out support for roVideoPlayer and roAudioPlayer objects
- roStreamQueue object, which allows you to play a list of video files as if they are seamlessly looping
- image-rendering:optimizeSpeedBs CSS property, which improves performance for pages that scale a large number of images at runtime
- fade:always parameter for the "hwz" attribute. This specifies that videos within an HTML <video> element should fade in when they begin.
- SetMaxBitrate() method
- roNetworkDiscovery object, which allows for zeroconf discovery among BrightSign players on a local network
- AddGetFromFolder() method, which provides an easy way to serve up an index of files to clients
- Support for client HTTPS certificates via theSetClientCertificate() method
- SetCookie(), SetCookieFile(), and GetCookies() methods for the roUrlTransfer object
Bug Fixes
- TrueType fonts with negative vertical ink positions no longer appear clipped. If you’re creating text fields using BrightAuthor, you will need to set the Font Size to Fixed point size, rather than Automatic, for this fix to work.
- The HTML Data and HTML Storage segmentation options in Edit > Preferences > Storage have been fixed.
- HTML playlists that include both local and multicast video no longer fail to play local videos after the first cycle.
- (XDx30) Certain HTML presentations no longer encounter OOM errors and crash.
- The modified CSS of an HTML presentation now correctly takes effect once that presentation is republished. Previously, the CSS would only change after rebooting the player.
- MP4 videos with fading now play correctly on HTML pages.
- A player will now correctly auto-play an html file located in the root folder of the storage. This only occurs if the root folder does not contain an autorun.brs file.
- Closed captions no longer have scaling issues.
- (4Kx42) Switching from 8-bit video to 10-bit video within the same video window no longer causes the window to go black.
- Audio playback no longer fails with some .MOV videos that are generated on cameras.
- (4K1142, XD1132, XD1230) Video playback no longer becomes jerky after switching from HDMI input to a video file and back again.
- (4K1142) Hot-plugging HDMI output no longer prevents HDMI input from being displayed.
- Screenshots now work with portrait-mode video that is set to scale-to-fit.
- (4Kx42, XDx32) Players now successfully encode 44.1 KHz audio.
- (4Kx42, XDx32) LLDP PoE power negotiation has been fixed.
- (XDx32, XDx30) The WiFi/Ethernet indicator LED now remains on after the player connects to a network.
- Running Network Diagnostics from the Diagnostic Web Server no longer causes the player to crash.
- The Remove Password option on the Diagnostic Web Server can now be used to remove the default password.
- Portrait-mode HTML video now displays correctly when offset and stretched.
- Calling Hide()/Show() on an HTML video now correctly hides/shows the closed captions as well.
- Rotated multi-screen HTML video playback works again.
- A <div> with an opacity:0 attribute no longer creates a ghost image if it is initially drawn off screen.
- The HTML "viewport" tag no longer causes incorrect page layout.
- The SetAppCacheSize(), SetLocalStorageQuota(), and SetWebDatabaseQuota() methods on the roHtmlWidget object have been fixed.
- HTML pages no longer fail to load image files containing parentheses.
- ThePreloadFile() method once again sets all videos to wait at the first frame for playback.
- Enhanced Synchronization (BrightWall) now uses the first PTS value in a video file, rather than the PCR value. This fixes synchronization issues that occurred with some video files.
- A player with its video mode set to "auto" will no longer reboot if a display is hot-plugged via HDMI but does not offer EDID information.
- (4K242, XD232) Calling HasFeature(“GPIO”) now correctly returns True.
- (HDx22) The SetAudioDelay() method now returns a value quickly.
- Passing an Integer as a Boolean to the roHtmlWidget.EnableSecurity() method now works again.
Improvements
- (4Kx42, XDx32) The framerate of animations when displaying a single, full-screen page has been improved.
- HTML video now supports seeking.
- Search engines are no longer allowed to index the contents of an unsecured Diagnostic Web Server instance.
- The Video tab of the Diagnostic Web Server now displays whether HDR is enabled or disabled.
- The Storage tab of the Diagnostic Web Server now provides information about the SD card, including the vendor, speed class, and serial number.
- When more than one storage device is attached to a player, the Diagnostic Web Server now provides access to all of them.
- You can now download a recently generated crash dump from the Diagnostic Web Server.
- An improved Mosaic Mode API has been implemented via the SetDecoderMode() BrightScript method and BSVideoMode.SetDecoderMode() JavaScript method. Note that this functionality is still in development and may exhibit some instability.
- The GetHdmiOutputStatus() method now returns an "EOTF" entry, which specifies whether the video output is HDR or SDR.
- (4K1142, XD1132) The ConfigureHdmiInput() method can now enable pass through of the following audio codecs: TruHD, MLP, DTS, DTSHD.
- It is now possible to play 10-bit 4K (H.265) video streams from the network.
- New GetEvents() method allows you to retrieve timecode events added to an roVideoPlayer or roAudioPlayer
- The roHtmlWidget object now supports 270-degree portrait rotation via the SetTransform() method.
- (4Kx42, XDx32) The cache for decoded images has been increased from 16MB to 32MB.
- New SetMouseRotation()method allows you to configure mouse inputs for different screen-rotation configurations.
- The roCanvasWidget object now supports image rotation.
- The BSMessagePort JavaScript object now supports nested dictionaries.
- New IsPresent() method allows you to determine if a keyboard is connected to the player.
- When a BSSerialPort JavaScript object is used to open a serial port, any previous BSSerialPort instance using the same port is disconnected.
- NewClose() JavaScript method allows you to manually disconnect from a serial port without destroying the object instance.
- When a new BSIRReceiver JavaScript object is created, any previous BSIRReceiver instance is disconnected.
- New Close() JavaScript method ensures the IR transceiver hardware is released by the object.
- A soft reboot on the player now causes a full power cycle for USB devices.
- The ReadAsciiFile() method no longer attempts to read files larger than 8MB in order to prevent OOM crashes.
- New GetRecoveryUrl() method allows you to retrieve the current recovery URL stored in the registry (which can be set via a script or DHCP Option 43).
- New GetWiFiESSID() method returns the currently configured ESSID (whether the player is currently connected to the wireless network or not).
- New SetWiFiPassphraseAndObfuscate() method allows you to set the WiFi passphrase and then retrieve the obfuscated version of that passphrase.
6.0.51
New Features
- "audiodelay" parameter for the encoder: streaming component
Bug Fixes
- (4Kx42 only) Players are again able to connect with the Iguanaworks IR transceiver.
- Playing a streaming .ts video more than once using a rotated HTML page no longer causes a blank screen or video corruption.
- If an HTML page uses local image assets, those files are now correctly cached to decrease load times.
- (4Kx42, XDx32, XDx30 only) GNU Unifont support has been fixed.
- (4Kx42 only) The 3840x2160x50/59.94/60p video modes no longer exhibit a single line of blank pixels on the right side of the screen.
- Rotated 1080p HDMI input no longer exhibits video corruption.
- (4K1142 only) HDMI input now works with devices that output 4k60p with the YCbCr 4:2:2 or 4:2:2 color space.
- (4K1142 only) The player no longer gets stuck on a green screen if a hotplug event occurs on the HDMI output when the HDMI input is being displayed.
- Touch events at the edges of the screen no longer occasionally fail to register.
- Players now support newer versions of the ELO ET4201L touch screen.
- Video corruption no longer occurs after switching from a HDMI input at 1080i60/59.94 to a video file and then back again.
- (HDx22 only) Setting the "latency" parameter of a video stream to approximately 5000ms or greater no longer causes playback issues.
- The default audio/video synchronization of encoder: component streams has been improved.
- The "display:none" CSS attribute now works with <video> elements that have HWZ enabled.
- A <video> element that has HWZ enabled will no longer be visible if it is outside the HTML widget dimensions.
- Calling "transform:rot90" on a non-HWZ <video> element now rotates it by 90 degrees, rather than 180 degrees.
- The JavaScript Play() function now plays correctly after the video <src> changes.
- The roHtmlWidget.FlushCachedResources() method has been fixed. This method has not worked in any of the previous 6.0 releases.
Improvements
- Players will now play media files from a uSD or MSATA storage device if it does not contain a presentation file (autorun.brs).
- If an HDMI monitor is connected to the player after it boots up (i.e. an HDMI hotplug event occurs), the player will reboot and switch to the preferred video mode of that monitor if it's different from the current mode. This only occurs if the Force Resolution box has not been checked or if there is no BrightAuthor presentation on the card.
- If a storage drive is in use, the Format Storage option in the Diagnostic Web Server (DWS) no longer allows attempts to format it.
- The following objects now support decryption of encrypted image files: roImageWidget, roCanvasWidget, roVideoPlayer, roClockWidget, roTextWidget.
- The changes to the "auto" video mode in firmware 6.0.41 have been reverted: A player set to "auto" now uses the highest resolution mode reported by both the monitor and player, rather than using the preferred mode (DTD) reported by the monitor.
- The speed at which roCanvasWidget rectangles can be redrawn has been improved.
- The CEA-608 and CEA-708 subtitle standards are now supported with rotated video as well.
- The StoreEncryptionKey() and StoreObfuscatedEncryptionKey() methods (available on the roVideoPlayer, roAudioPlayer, and roAudioPlayerMx objects) now support the "AesCtrHmac" algorithm.
6.0.41
Important: In this build, 4Kx42 players are unable to connect with the Iguanaworks IR transceiver. Furthermore, 4K1142 players cannot accept 4K60p HDMI input from devices that output this resolution at YCbCr 4:2:0 and/or 4:2:0 only (i.e. a significant number of 4K output devices). These issues will be fixed in the next firmware release.
New Features
- (4Kx42, XDx32, XDx30 only) New Format Storage option in the Diagnostics tab of the Diagnostic Web Server (DWS)
- New Hide() and Show() methods for the roVideoPlayer object
- New roHtmlWidget.ForceGpuRasterization() method
- New roVideoMode.SetImageThreshold() method. This method allows you to increase the image size limit beyond 2048x1080, at the risk of depleting the graphics memory and causing a crash.
Bug Fixes
- Background Image zones that are part of Portrait Mode presentations no longer appear distorted.
- (XDx32, XDx30, HDx22 only) HTML playback of YouTube content no longer fails.
- Video playback no longer fails when transitioning from an HTML page containing two videos to a Live Video state.
- The firmware-update progress bar is no longer drawn off-screen if the player is connected to a 4K monitor.
- Players will no longer lock up if the network connection times out during HLS streaming playback.
- Players no longer exhibit intermittent crashes when switching from an MJPEG or RTSP stream to another MJPEG stream.
- Streaming playback no longer fails with the Samsung SNO6011-R H.264 IP camera.
- HTML videos that have HWZ disabled will no longer exhibit intermittent corruption when the video width is not a multiple of 32.
- Issues with the IndexedDB implementation for HTML pages have been fixed.
- Players no longer crash after several days of frequently cycling through HTML pages.
- The JavaScript console no longer periodically fails to load.
- HTML pages that use the BSSyncManager JavaScript object no longer exhibit occasional synchronization issues when pausing video.
- Calling Hide() and then Show() on an roHtmlWidget instance no longer freezes animations. Similarly, if the page has not loaded completely when Hide() is called, it will now continue to load after Show() is called.
- Calling Hide() on an roHtmlWidget instance before calling SetUrl() now correctly hides the page.
- HTML <video> elements that have been muted before the page is loaded now mute correctly.
- HTML pages no longer fail to display .gif images with large file sizes.
- The HTML rendering engine now correctly handles transparency in .png images that use the LUT8 pixel format.
- The roTextWidget.Hide() method now always works when displaying a scrolling ticker (i.e. text mode 3).
- The ?loop parameter, which can be appended to roMediaStreamer.SetPipeline URLs, has been fixed.
- If a script calls roVideoPlayer.StopClear() on an HLS stream and then starts a new HLS stream, the last frame of the first HLS stream will no longer be displayed when starting the second.
- The roMediaServer object can once again stream .mp4 files in response to HTTP requests from clients.
- Attempting to create an roMediaStreamer/roMediaServer pipeline between a file and a segmented HLS stream, or between a file source and file destination competent, no longer causes the player to crash.
- Switching between HLS streams no longer causes intermittent playback hang ups.
- Players no longer lock up when attempting to play from a stream URL that lists its first two sources as non-IPv4 addresses.
- The default set of SNMP MIBs found in firmware 5.1.x have been reinstated.
- (4Kx42, XDx32 only) The continuity counters of PAT and PMT PIDs now increment correctly in TS streams generated by the video encoder.
- The roVideoMode.GetConfiguredMode() method now returns the current video mode once the SetMode() method is called. Calling GetConfiguredMode() before SetMode() will return Invalid because "auto" mode is the default state.
- Destroying an unused roSqliteInterface instance no longer causes a crash.
Improvements
- You can now use the Upload to this directory option in the Diagnostic Web Server (DWS) to upload multiple files at a time to player storage.
- HTML <video> elements now show a blank frame (rather than no frame at all) when HDCP/DTCP authentication fails.
- Touchscreen pinch zooming has been disabled for HTML <video> elements to match behavior in firmware 5.1. It will be reinstated in a future release.
- HLS streams that are written to file via the roMediaStreamer object can now be encrypted and decrypted.
- New BSTicker.Shutdown() JavaScript method allows you to immediately destroy a ticker widget.
- The roVideoPlayer object will now generate EVENT_UNDERFLOW (26) events every few seconds if it detects underflow errors with a video stream (underflow errors are usually caused by latency settings that are too low).
- (4K1142 only) Support for the YCbCr 4:2:2 and YCbCr 4:4:4 modes have been disabled on HDMI input because the player was exhibiting color distortion with the YCbCr 4:2:2 input mode. We will re-enable these modes once the YCbCr 4:2:2 input mode is fixed.
- A player that has its video mode set to "auto" will now accept the preferred mode (DTD) of an attached monitor if this mode is supported by the player. Previously, a player set to "auto" would always use the highest resolution mode reported by both the screen and player, which may be different from the preferred mode of the screen.
- New roCecInterface.UseInitiatorAddressFromPacket() method allows a script to set a custom initiator address for CEC.
- It is now possible to play MPEG-DASH streams that use the "baseURL" segment type.
- The player will no longer crash if you attempt to write data that is not UTF-8 or ASCII into the registry. This means that the registry now only accepts valid UTF-8 or ASCII data.
6.0.25
New Features
- Support for writing HLS streams to file via the roMediaStreamer object
- Support for the NEC32 IR protocol (via the roIRReceiver and roIRTransmitter objects). This allows BrightSign players to work with Apple TV remotes.
Bug Fixes
- It is now possible to remove password authentication for the DWS when performing the player-setup process again.
- The View Mode > Letterboxed and Centered and Fill Screen and Centered zone properties now work with portrait-mode video.
- HTML <video> elements will no longer be misaligned if the zone containing the HTML has X,Y coordinates other than 0,0.
- Background Image zones that are rotated no longer exhibit image corruption.
- Live Text states will no longer incorrectly render an image when it has pixel height that is not a multiple of 16.
- It is once again possible to rotate HTML <video> elements that are playing local files.
- The fade effect when switching between multicast channels has been fixed.
- The UpTime() global function no longer returns incorrect values after the player has been running for more than approximately 25 days. This function also now returns a double value instead of a float.
- (4Kx42 only) The process of enabling and then disabling Telnet or SSH no longer causes indefinite CPU resource consumption.
- Attempting to reduce the dimensions of a rotated video window no longer causes video corruption.
- Stopping an roMediaStreamer instance that is streaming HDMI Input no longer causes the displayed HDMI Input from going blank as well. This bug only occurred when the HDMI Input was being displayed before the encoding process began.
- Closed-caption text no longer jitters slightly when new text is scrolling onto the screen.
- HTML widgets now report an up-to-date default User Agent string.
- Audio track selection now works correctly when using the SetAudioOutput() method in combination with the SetPreferredAudio()/SetPreferredVideo() methods.
Improvements
- (4Kx42, XDx32, XDx30 only) Both HTML and non-HTML presentations now support GNU Unifont. This means that you no longer need to specify a font for non-Latin text to display correctly (though you can still assign custom fonts as needed).
- The latency for GStreamer streams has been reduced.
- Changes to the preferredcaptions and viewmode attributes for HTML <video> elements now take effect immediately.
- The Web Inspector now has scroll bars.
- The new roVideoPlayer.ConfigureHdmiInput() method allows you to control the EDID values on the HDMI Input.
- The new roVideoMode.GetAvailableModes() method allows you to retrieve an array of all available video modes on the player.
- The GetHDMIInputStatus() and GetHDMIOutputStatus() methods on the roVideoMode object now return Boolean values, rather than integers, for appropriate parameters.
6.0.20
New Features
- Hardware-accelerated image decoding for HTML
- Support for 96kHz and 192kHz audio output
Bug Fixes
- (XDx32) Dolby Digital 5.1 audio now plays correctly when it is passed through the HDMI input on the XD1132
- (4Kx42) The firmware-update screen now appears again during the firmware-update process. Note that this bug only applied to firmware version 6.0.9, and will only be fixed after the firmware-update process from 6.0.9 is complete.
- Remote Snapshots now correctly represent the opacity (alpha-blending) of videos.
-
HTML video that has HWZ disabled ("hwz=off") now works.
-
HTML video that uses WebGL now works.
-
CSS opacity animations now work with <video> elements.
-
Rapidly resizing a video window in HTML no longer causes a crash.
-
HTML video windows with background transparency no longer mask images directly behind them.
-
Video sourced from an HDMI input now works with multiscreen HTML pages.
-
(HDx22) HTML pages with viewport settings in the <meta> tag no longer have a chance of crashing the player.
-
The SetAppCacheDir() and SetWebDatabaseDir() methods on the roHtmlWidget object now work again.
-
The roHtmlWidget object now respects proxy settings specified using the SetProxy() and SetProxyBypass() methods on the roNetworkConfiguration object.
-
Key mappings are now correct for USB keyboards that are used with HTML pages.
-
(4Kx42) Streaming video to a device over several network switches no longer results in video corruption.
-
Creating an roImagePlayer instance no longer causes the screen to go blank.
-
roUrlTransfer no longer fails if the server sends a non-fatal alert during handshake.
-
The player no longer crashes if roHttpServer.AddGetFromEvent() is not passed user data.
-
When a static string is assigned to a member of an associative array within a Run() call, the string no longer becomes de-allocated on exit from Run().
Improvements
- The HTML rendering engine now uses low-res tiles before loading the full-size images. This improves the performance of some carousel-style pages.
- When an HTML <video> element is reused, there is no longer a brief black screen before the next video is played.
- Seamless looping is now supported for HTTP MP4/MOV streams.
- HTML pages that specify the "X-Frame-Options" header are now be allowed if you call EnableSecurity(false) on the roHtmlWidget instance.
- Source-specific multicast streaming (IGMP v3) is now supported for GStreamer UDP/RTP.
- The performance of GStreamer RTSP has been improved.
- The roXMLElement.Parse() method now works much faster when handling text that contains a large number of entities.
- New roPtp object allows you to retrieve information about the network PTP state of the player.
- New roNetworkTimeEvent object and roSystemTime.GetLastNetworkTimeResult() method allow you to retrieve information about the last attempt to set the time via the network.
- Players now contain two custom LLDP TLV fields: subtype 0 contains the player model number (e.g. "4K1142"); subtype 1 contains the player serial number (e.g. "X3H47U000046"). These custom fields have an organizationally unique identifier (OUI) of 90:ac:3f.
- New roVideoMode.GetTxHdcpStatus() method allows you to retrieve the current HDCP status of the HDMI connection.
- The roVideoMode.GetHdmiOutputStatus() method now returns additional information: audio_bits_per_sample, audio_format, audio_channel_count, and audio_sample_rate.
- The roVideoMode.GetConfiguredMode() method now returns the additional dropframe parameter.
- The roVideoPlayer.GetStreamInfo() method now returns additional information: AudioSampleRate, Source, AudioChannelCount, VideoColorDepth, VideoHeight, VideoFormat, AudioDuration, VideoWidth, VideoAspectRatio, AudioFormat, and VideoDuration.
6.0.9
New Features
- Support for the new VB Touch FB series of touch sensors.
- New viewmode attribute for HTML <video> tags. This attribute accepts the following values: "scale-to-fill", "scale-to-fit", and "scale-to-fill-and-crop".
- Support for 128-bit AES CTR decryption of audio/video files via the roVideoPlayer object.
- Support for USB modems that appear as standard serial ports (including the Pantech UML290 3G modem)
- Support for 4096x2160 at the following frame rates: 25p, 30p, 50p and 60p
- Support for USB devices that have multiple serial ports
Bug Fixes
- HTML video now plays correctly when it switches from a local file to a streaming source.
- Rotated HDMI-In video no longer has a chance of going blank when the player is rebooted or the resolution is changed.
- 1080i60 video now displays correctly when output at a 75p resolution (e.g. 1280x1024x75p, 1280x800x75p).
- Players no longer fail to display CSS fonts from HTML pages that are hosted remotely.
- Progress bars for HTML <video> elements now display correctly and can be used for playback seeking.
- HTML pop-up menus now respect the current zoom level of the page.
- Live Text states once again use the system font if no font is specified.
- HTML <video> elements that stream RTP video no longer flicker at the beginning of playback.
- RTSP/RTP video streams that use padding bytes no longer exhibit corruption in the lower-right corner of the screen.
- Players no longer encounter errors when attempting to connect to MJPEG streams that require authorization (e.g. IP cameras).
- USB audio has been fixed.
- Closed captions now work with videos that are stretched across multiple screens.
- The roAudioOutput.SetAudioDelay() method has been fixed.
- HTML <video> elements that have HWZ enabled now respect CSS styling for opacity.
- HTML <select> tags for dropdown menus now render properly.
- JavaScript errors are now less likely to occur when attempting to call a function variable.
- Passing an object to the roSerialPort.SendLine() method no longer causes the player to crash when exiting the BrightScript debugger.
- The player will no longer lock up if you attempt to exit the BrightScript debugger while running multiple tickers.
- The GetCurrentFileSizeMegaBytes() and GetCurrentFileTransferredMegabytes() methods available on the roAssetFetcherProgressEvent object now correctly reports using megabytes, rather than bytes.
- The roCanvasWidget object now properly handles image source rectangles that are not the entire image.
- The roSyncManager object now correctly supports the ifUserData interface.
- The player now advertises a correct set of LLDP capabilities.
Improvements
- Remote Screenshot images now include closed captions and Ticker zones.
- When playing a BrightWall or Enhanced Synchronization presentation, the player can now use .ts files with PTS offsets greater than zero.
- Players now support Sound Sample Description version 2 for .mov and .sowt files.
- Closed captions now work with stretched multiscreen video.
- The roMediaServer objects now support streaming of .mp4 files via HTTP.
- The carrier frequency on the IR input/output is now configurable.
- HTML <audio> elements now support the same audio-routing attributes as <video> elements (see the HTML Developer's Guide for more details).
- The Pause() and Resume() methods on the roVideoPlayer object now work with streaming video.
- New roVideoPlayer.GetDuration() method allows you to retrieve the duration of the file that is currently being played.
- New roVideoPlayer.GetPlaybackPosition() method allows you to retrieve the amount of time a video file or IP stream has been playing.
- Instead of crashing the player, the roVideoPlayer.SetPlaybackSpeed() method now fails when you attempt to use it with an audio-only track.
- The roVideoMode.SetMode() string now accepts a "preferred" parameter that allows the player to fall back to a supported video mode if the configured mode is not supported by the display.
- New GetActiveMode() and GetConfiguredMode() methods on the roVideoMode object allow you to retrieve more information about current and configured video modes.
- New ForceHDCPOn() method on roVideoMode object allows you to force the video output to always be encrypted using HDCP.
- The SetVolume() method on the roAudioPlayer and roVideoPlayer objects can now accept decibel values.
- The new roAudioOutput.SetTone() method allows you to modify the treble and bass of audio outputs.
- The Pause() and Resume() methods on the roVideoPlayer object now work with RTSP streaming video.
- New roVideoPlayer.GetPlaybackPosition() method allows you to retrieve the amount of time a video file or IP stream has been playing.
- During playback of an IP stream, calling the roVideoPlayer.Stop() method now leaves the last frame on screen. This behavior is consistent with file playback.
- The roVideoMode.SetMode() string now accepts a "preferred" parameter that allows the player to fall back to a supported video mode if the configured mode is not supported by the display.
- New GetActiveMode() and GetConfiguredMode() methods on the roVideoMode object allow you to retrieve more information about current and configured video modes.
- The Diagnostic Web Server (DWS) is now enabled by default. It is available on port 80 and uses the player serial number as the default password. If the DWS was explicitly disabled in a previous version, it will remain disabled.
- The ifUserData interface has been added to the following BrightScript objects: roVideoMode, roVideoPlayer, roAudioPlayer, roKeyboard, roMediaServer, roCecInterface, roControlPort, roMimeStream, roRtspStream, roRtspStreamEvent, roSnmpAgent, roSnmpEvent, roStorageHotplug, roStorageAttached, roStorageDetached, roMediaStreamer, roTimer, roTimerEvent, roMimeStreamEvent.
- The ifStringOps interface has been removed from the roStorageAttached, roStorageDetached, and roSnmpEvent objects.
- The ifStringOps have been removed from the following BrightScript event objects: roHdmiEdidChanged, roHdmiInputChanged, roScreenshotComplete, roIRRemotePress, roGpioButton, roQuadravoxButton, roTouchCalibrationEvent.
- New roDeviceCustomization.FactoryReset() method allows you to perform a factory reset at the script level.
- New roDeviceCustomization.WriteSplashScreen() method allows you to customize the boot splash screen using an image file.
- New roDeviceInfo.GetLoadStatistics() method allows you to retrieve performance information related to the Linux kernel.
- New FirmwareIsAtLeast() and BootFirmwareIsAtLeast() methods for roDeviceInfo provide scripts a reliable way to test against the current firmware version numbers.
- New roTextWidget.SetSeparator() method allows you to change the string-separator symbol for scrolling tickers.
- The EnableEncodings() method is now available for the roAssetFetcher and roSyncPool objects. HTTP compression is also enabled by default for the roUrlTransfer, roAssetFetcher, and roSyncPool objects.
- New roVideoMode.GetHdmiOutputSettings() method allows you to check the current status of the HDMI output.
- New GetStreamInfo() and GetStreamStatistics() methods for roVideoPlayer allow you to retrieve information about an IP stream that is currently being played.
- New roHdmiOutputChanged event object, which is generated by the roVideoMode object, allows scripts to respond to hotplug events on the HDMI output.
- New roTouchScreen.SetCalibrationRanges() method allows you to customize the dimensions of the touch area (rather than using the dimensions given by the touchscreen over USB). This method is useful if your touch setup is not using the entirety of the video output.
- New roNetworkConfiguration.EnableLeds() method allows you to enable or disable Ethernet LED activity.
- New SetProxyBypass() method for roNetworkConfiguration, roUrlTransfer,and roAssetFetcher allow you specify cases when a player should bypass a configured proxy.
- New GetProxyBypass() method for roNetworkConfiguration allows you to retrieve the current proxy bypass listing set using the SetProxyBypass() method.
- New roSerialPort.SetFlowControl() method allows you to enable or disable RTS/CTS handshaking over the serial port.
- New GetBufferByteArray() and GetBufferMetadata() methods are available for the roImageBuffer object.
- You can now use a fully qualified path (e.g. "SD:/libraries/mylib.brs") for the BrightScript LIBRARY statement.
- File objects that implement the ReadByte() method now only return a negative value if the EOF is reached or if there is an error condition.
- Passing multiple arguments to the CreateObject function when the object does not expect any arguments will now always cause a runtime error.
- Attempt to print a string greater than 16K bytes long no longer results in an assertion failure. Instead, the string is truncated.
5.1.65
Bug Fixes
- The HDMI output of XDx32 players is now fully compatible with the LG22M45 model from LG.
- If an IP stream has multiple bitrate variants, the player no longer has a chance of switching to lower-bitrate variants during playback.
- Video walls that use stretched HTML canvases now work correctly.
- HTML <video> elements that have HWZ enabled are now cropped correctly when they extend beyond the boundaries of the HTML widget.
- HTML <video> elements that alternate between IP streams and local files now work correctly.
- Players now negotiate correctly with MJPEG streams that require authorization.
5.1.62
Bug Fixes
- Publishing a presentation to a player during HTML playback no longer causes it to crash.
- 1920x1080x60p presentations no longer exhibit a slight pixel shift after every transition when the mouse cursor is enabled.
- Touch events no longer have a chance of causing a white bar to flash at the bottom of the screen. This problem only occurred when the mouse cursor was disabled.
- Passing 3D video to the 4K1142 via HDMI Input no longer causes the player to crash.
- PNG images that are palletized and interlaced no longer have a reddish hue when displayed on top of a video zone.
- HLS streaming playback no longer locks up if the HLS stream has a short playlist.
- Players now correctly handle HLS streams that have multiple alternative URLs at the same bandwidth.
- AES-encrypted HLS streams no longer exhibit video corruption during playback.
- A player will no longer crash and reboot if it encounters a runtime error while running a .brs script using the Run() function. This bug only affected players that had serial console disabled.
Improvements
- The CEA-608 closed-captions standard now supports CC1, CC2, CC3, and CC4 variations.
- The SetLoopMode() method can now accept an associative array of parameters that allow it to handle situations where the video is synchronized but not looping seamlessly.
- New roRtspStream.AddHeader() method allows you to add headers to streaming requests sent to URLs from the object instance. Conversely, the roRtspStream.ClearHeaders() method allows you to clear all headers from requests sent by the object instance.
5.1.54
Bug Fixes
- When installed on 4Kx42 models, the Wireless Module now works more reliably on most channels.
- Z-ordering is now applied correctly to video zones containing streaming video.
- Players that are no longer part of a BrightWall now set their clocks correctly using the NTP/HTTP protocol.
- DTCP-protected streams that are requested via RTSP now play correctly.
- The 4K1042 no longer encounters file I/O errors with USB 2.0 storage devices.
- Players now work with NEC AS192WM touchscreen models that have newer configurations.
- The visibility:hidden CSS property now works with HTML <video> elements.
- HTML <video> elements with the HWZ transform (i.e. video rotation) parameter enabled now display at the correct screen location and with the correct size.
- The player no longer crashes if you include a trailing space with an HWZ attribute on an HTML <video> element.
- The HTML <video> window no longer jumps briefly when transitioning between streaming videos.
- Using SVG elements with HTML video and graphics no longer causes the player to crash.
- The Tcpdump feature on the Diagnostic Web Server (DWS) no longer locks up when the network interface is busy.
- The SSH port field on the DWS now displays the correct SSH port number.
- Scripts that are run with the BrightScript Run() function can once again be interrupted by pressing Ctrl-C at the BrightScript debugger prompt.
- Instantiating an roTextField objectthat is larger than the screen no longer causes object creation to fail.
- The potential for deadlocks on the roMessagePort object has been resolved.
- Misspelling the URL for an roRtspStream instance in the BrightScript debugger no longer results in an endlessly scrolling debugger prompt.
Improvements
- The color spaces of HTML video and graphics now match.
- Players that are part of a PTP synchronizations setup, but currently do not have a PTP master unit, now set their clocks correctly using HTTP/NTP.
5.1.48
New Features
- New FormatJson() global function in BrightScript. This function allows you to format an associative array as a JSON string.
- Support for recording and downloading Tcpdump files via the Diagnostic Web Server (DWS)
- New time-to-live (TTL) parameter for multicast streams in Media Server destination URLs; this allows for propagation of multicast streams outside the local network: <protocol>://<ip_address>:<port>?maxbitrate=<value>&ttl=<value>
- Support for Huawei E173 and E156G USB 3G modems
Bug Fixes
- Stretched BrightWall presentations now work.
- 4k60p videos that use the 10-bit color profile (4:2:0) display correctly again.
- Certain HLS streams no longer cause the player to crash.
- HTML pages with certain types of content no longer cause memory leaks and crashing when loaded multiple times.
- The Iguanaworks USB IR Transceiver no longer fails to work when other USB devices are connected to the player in certain configurations.
- 4Kx42 models now output 1920x1080x60p mode correctly when connected to LG 22M45 display models.
- Switching between videos that have different audio sampling rates no longer causes problems with the HDMI output.
- Rotated HTML video elements now display using the correct aspect ratio.
- If multiple videos are played sequentially on an HTML page, the player now respects the native aspect ratio of each video.
- Reusing an HTML video tag for multiple videos no longer causes the last frame of the previous video to display at the location of the next video.
- Closing an HTML video window with closed captions no longer has a chance of causing a deadlock on the player.
- The player no longer sends a spurious MEDIA_ERR_NETWORK message to the JavaScript console every time an HTML video ends.
- The player no longer crashes if it attempts to load an HTML page containing JavaScript code for Google Analytics.
- The BSSyncManager JavaScript object now works correctly when two HTML videos are being displayed.
- The player no longer has a chance of crashing if it attempts to play a streaming MPEG-TS video with corrupted metadata.
Improvements
- 4Kx42 players can now play streaming H.265 videos that use the 10-bit color profile.
- A presentation with a large number of Data Feeds (and/or Data Feeds with large chunks of text) will no longer experience choppy video playback when the Data Feeds are updated.
- HLS streams from the BrightSign Media Server are now compatible with Mac devices.
- BrightScript will now send a media-end event when an HLS stream ends unexpectedly (when the network goes down, for example).
- The stability of the BSTicker JavaScript object has been improved.
5.1.40
New Features
- Support for POSIX time-zone formats
- Support for Huawei E173 and E156G USB 3G modems
- Initial support for BrightSign Extensions
- New roVideoPlayer.SetPlaybackSpeed() BrightScript method, which allows you to fast-forward and rewind video at various speeds, as well as play video in reverse.
- New FormatJson() global function in BrightScript. This function allows you to format an associative array as a JSON string.
- New SetPulseParams(), SetPulse(), and RemovePulse() methods for the roControlPort object. These methods allow you to specify blinking/pulsing behavior for LEDs connected to the GPIO port.
- New AddMethodFromEvent() and AddMethodToFile() methods for the roHttpServer, as well as theGetMethod() method for the roHttpEvent object. These allow for complete support of RESTful HTTP methods on the BrightSign player.
Bug Fixes
- BrightWall presentations that are set to Stretched now work with HDMI Input states.
- Ticker zones with scrolling text no longer occasionally blink when a video is playing at the same time.
- Calling the PlaySaticImage() method on two different instances of roVideoPlayer no longer causes the player to crash.
- Performing more than one transform/rotation on a video window no longer causes video corruption.
- Taking a screenshot of a presentation containing a transformed/rotated video no longer causes a brief glitch on screen.
- When switching from HDMI Input to a video file, the player no longer displays a brief image of previous video playback.
- If multiple videos are played sequentially on an HTML page, the player now respects the native aspect ratio of each video.
- The player no longer sends a spurious MEDIA_ERR_NETWORK to the JavaScript console every time an HTML video ends.
- Playback of multiscan .png images larger than 1280x1024 works again. This file type was not working on previous 5.1 versions of firmware.
- The player will no longer crash if it attempts to display a corrupt .png file.
- The player no longer has a chance of crashing when reading from a corrupt USB storage device.
- When 4Kx42 players are booted up or rebooted, they no longer fail to connect to certain 4K display models.
- Touch events no longer have a chance of causing a white bar to flash at the bottom of the screen. This problem only occurred when the mouse cursor was disabled.
- Ticker zones with scrolling text no longer occasionally blink when a video is playing at the same time.
- Playback of multiscan .png images larger than 1280x1024 works again. This file type was not working on previous 5.1 versions of firmware.
Improvements
- You can now use the Diagnostic Web Server to set the time (in UTC or PST) of the player clock.
- The Pause() and Resume() methods on the roVideoPlayer object now work with Enhanced Synchronization: Each method now accepts an associative array containing a SyncIsoTimestamp value.
- HLS audio streams can now be cross-faded with the roAudioPlayerMx object.
- When an HLS stream ends (whether naturally or due to network failure), the roVideoPlayer or roAudioPlayer instance will now generate a media-end event.
- Instances of roMediaServer now include the esencoder: pipeline component, which can be used to encode elementary streams and stream them via RTSP.
- The quality of video playback in the stream-the-display feature (via the display: component of the Media Server) has been greatly improved.
- The roStorageInfo.GetStorageCardInfo() method now also returns the manufacturing date of an SD card (in "MM/YYYY" format).
- You can now use the Diagnostic Web Server to set the time (in UTC or PST) of the player clock.
- The Pause() and Resume() methods on the roVideoPlayer object now work with Enhanced Synchronization: Each method now accepts an associative array containing a SyncIsoTimestamp value.
5.1.33
New Features
-
Support for HDCP-protected content
- Synchronized streaming video across multiple displays
- Synchronized, multi-screen scrolling ticker (via BrightScript or JavaScript)
- Synchronized HDMI input and streaming video across multiple displays
- Closed captioning (CEA-608, CEA-708, and DVB) via HTML video
- Support for the Elo 1523L multi-touch screen
- Support for Huawei E173 and E156G USB 3G modems
- New SetTimeServerIntervalSeconds() and GetTimeServerIntervalSeconds() methods for the roNetworkConfiguration object: Use these methods to configure how often the player checks in with NTP/HTTP time server to update its real-time clock (the default is 12 hours).
- New ConfigureAsInput() and ConfigureAsOutput() functions for the BSControlPort JavaScript object: These functions allow for standard GPIO configuration.
Bug Fixes
- It is again possible to rotate or transform videos that are 1920x1080.
- Taking a screenshot of a transformed/rotated video no longer causes a momentary video glitch.
- Performing more than one transform/rotation on a video window no longer causes video corruption.
- The background bitmap displayed by a text zone no longer suffers from image corruption.
- The Enable power saving mode command for monitors works again.
- The real time clock on the HD222 and HD1022 no longer drifts by approximately 7 seconds every 24 hours. This problem only applied to non-networked units or units that did not communicate regularly with a time server.
- JavaScript uses the correct local time zone again.
- When connecting through a proxy, players can now use HTTPS to communicate to the BrightSign Network (or an HTTPS Simple File Network server) more than once.
- Simple File Networking now works with servers that have SSLv3 completely disabled.
- Players now correctly display the firmware update splash screen and video-mode test images. This fix applies to firmware updates from5.1.33 to a newer version.
- The player will no longer crash if the Stop() method is called on an roAudioPlayerMx() instance.
- roAudioEvent and roAudioEventMx messages are now delivered at correct intervals.
- Calling the PlaySaticImage() method on two different instances of roVideoPlayer no longer causes the player to crash.
- The player will no longer crash if it attempts to display a corrupt .png file.
- Calling roHashGenerator.SetHmacKey() no longer makes it impossible to set the system clock.
- The player no longer has a chance of crashing when reading from a corrupt USB storage device.
- Players that utilize the HTML application cache no longer output false error messages to the system log.
Improvements
- Strings now appear and disappear smoothly (without glitches or disappearing text) when modifications are made to the contents of a scrolling ticker.
- The Info tab of the DWS now displays date, time, and timezone information.
- The player can now display images taken by the screenshot feature.
- At the BrightScript level, a media-end event is no longer sent when a video loops.
- The DWS now includes any network neighborhood information (physical location and port/switch) gained via LLDP.
- The DWS now indicates whether it is currently powered via PoE.
- Instances of roMediaServer now include the esencoder: pipeline component, which can be used to encode elementary streams and stream them via RTSP.
- If one player is acting as a streaming client and another player is acting as a Media Server, you can now use parenthesis to define the pipeline stages of the Media Server within the pipeline stages of the client. For example, the following client-side code would instruct the Media Server to decode HDMI input and stream it to the client, which would then save it as a file: (http://<BrightSign-Media-Server-IP>:<port>/hdmi:,encoder:),file:///hdmi.ts
- The roStorageInfo.GetStorageCardInfo() method now also returns the manufacturing date of an SD card (in "MM/YYYY" format).
- At the BrightScript level, a media-end event is no longer sent when a video loops.
- Players can now display images taken by the screenshot feature.
- Screenshots taken by the roVideoMode.Screenshot() method now use the EXIF container to include various information about the presentation and device.
- It is now possible to display the full width of a portrait-mode HD (1080x1920) video at up to 4Kp24.
- Playback now fails immediately if the device attempts to display a CMYK JPEG, which is not supported on BrightSign players.
5.1.16
New Features
- New ConfigureAsInput() and ConfigureAsOutput() functions for the BSControlPort JavaScript object: These functions allow for standard GPIO configuration.
Bug Fixes
- Playback of 10-bit H.265 videos now works.
- Using roVideoPlayer.SetTransform() to rotate the video 180 degrees no longer causes the player to crash.
- An roMediaServer instance with a default configuration now successfully streams files with the encryption=dtcp parameter.
- The BSSerialPort, BSSyncManager, and BSControlPort JavaScript objects now use asynchronous callbacks. This prevents deadlocks caused by these objects.
Improvements
- The DWS now includes any network neighborhood information (physical location and port/switch) gained via LLDP.
- The DWS now indicates whether it is currently powered via PoE.
- Screenshots taken by the roVideoMode.Screenshot() method now use the EXIF container to include various information about the presentation and device.
- It is now possible to display the full width of a portrait-mode HD (1080x1920) video at up to 4Kp24.
- Playback now fails immediately if the device attempts to display a CMYK JPEG, which is not supported on BrightSign players.
5.1.12 / 5.0.25
New Features
- Support for the 960x960x60p video mode
- Support for the .ogg container format
- Support for the FLAC and Vorbis codecs
- Support for the Franklin Wireless U600 3G modem
- New GetFilePlayability() and GetProbePlayability() methods available for the roVideoPlayer object. These methods allow a script to determine if a media file is playable before attempting playback.
- New roNetworkConfiguration.GetNeighborInformation() method, which allows players to retrieve location information from networked devices using the LLDP-MED protocol
- New roIRReceiver and roIRTransmitter objects (for IR input/output over the 3.5mm IR port, DA15 GPIO port, and Iguanaworks USB IR transceivers). Note that the original roIRRemote object continues to work as before.
- New roNetworkConfiguration.SetDialupInitString() method, which allows players to connect to an APN using a 3G modem
Bug Fixes
- Rather than returning Invalid, instances of roMediaStreamer now return an event when the file finishes streaming.
- The performance measurement for HTTP downloads now reports correct figures for files that are 4GB or larger.
- RTSP streaming now works when the server initializes with a connection address of 0.0.0.0.
- Playing an HLS stream no longer causes a memory leak.
- Streaming video that is played from an HTML page will no longer suffer from poor playback if it contains an audio track that the player can't decode. Note that this bug only occurs when there are two streaming videos on the page.
- If the DHCP server is slow to respond when the player boots, players that are configured via Option 43 will now use the correct recovery URL, rather than running the default autorun.
- The results of JavaScript console.log() commands are now correctly output to the WebKit Web Inspector.
- The player will no longer crash if an invalid host name is passed to the BSDatagramSocket.SendTo() JavaScript function.
- JavaScript BSIRReceiver events are no longer delayed if there are multiple key presses in a short succession.
- Stream recording (i.e. writing an IP stream to a file) no longer fails if the PCR PID channel of the player is different from that of the audio/video file.
- Players no longer fail to play MP3 files that are streamed using certain server configurations.
- The POSIX strings for the CST2 and MST2 time zones are now formatted correctly.
Improvements
- The Diagnostic Web Server now reports the IP address (or addresses) of the player, as well as any location, port, or switch information gained via LLDP.
- It is now possible to specify the timeout period for connecting to a multicast streaming URL (e.g. "udp://239.192.0.0:1234/?timeout=200"). Specifying a shorter timeout period (the default is 500ms) can reduce delays in interactive events when the player is connecting to a multicast stream.
- Drop-down lists are now supported in HTML pages.
- Enabling the "HWZ" attribute for an HTML video element now positions that video in front of all images and graphics by default.
- The "HWZ" attribute for HTML video elements can now include additional parameters that determine the z-index, luma key, and chroma key of the video.
- The BSTicker JavaScript object now supports font customization using the SetFont() function.
- JavaScript now has access to the functionality of the following BrightScript objects: roSyncManager, roMessagePort, roTextWidget, and roCecInterface (both sending and receiving).
- In addition to sending arrays, the BSDatagramSocket JavaScript object can now send strings.
- Different instances of roHtmlWidget no longer share security configurations for BrightScript JavaScript objects.
- An index.html script that is used with the default autorun (i.e. placed in the root of the player storage without a presentation script) now has unrestricted access to BrightScript JavaScript objects.
- The BrightSign implementation of WebKit now supports an SQL database API.
- The roMediaServer object now raises an event whenever a client starts or stops streaming.
- Multicast streaming from the player no longer has a delayed start if the network infrastructure is using IGMPv2.
- Crash dumps are now sent using the proxy configuration settings of the player (if any).
5.0.27
Bug Fixes
- If an HTML <video> element fails to play a specified multicast stream, it will now generate a "error" event that can then be handled by the JavaScript of the page.
- Playing an HLS stream no longer causes a memory leak.
- Opening a serial port via an roSerialPort instance will no longer cause serial console output, which is used for debugging scripts, to cascade to the right.
4.8.114
New Features
- Support for the Lumio Crystal Touch firmware up to version 02.04.22.01 (used by the Planar PS4660T multi-touch screen)
- New roKeyboard.SetLayout() method, which allows you to change the keyboard layout to many non-English configurations
Bug Fixes
- Among synchronized players, the sync master player is now always set as the PTP master as well. This fixes playback issues (such as video freezing on the master player or video stuttering on sync slaves) that occur when a slave player become the PTP master.
- An HTML page that includes an MP4 stream with seeking capabilities no longer operates slowly or causes the player to crash.
- Exiting an HTML state at a certain moment (right after "sourceChangedCallback" prints a message) no longer causes the player to crash.
- RTSP streaming now works when the server initializes with a connection address of 0.0.0.0.
- Players now respect the Content-Base field contained in the DESCRIBE response from an RTSP streaming server.
Improvements
- HDMI input now supports video rotation (via the roVideoPlayer.SetTransform() method).
- BrightScript no longer allows an interlaced video to be rotated 90 or 270 degrees with the roVideoPlayer.SetTransform() method. Interlaced video can still be rotated 180 degrees.
- There have been further improvements to HTML JavaScript garbage collection, resulting in better long-term performance with fewer crashes.
- Creating an HTML canvas that exceeds the maximum display area (1920x1080) no longer causes the player to crash.
- An Audio Stream state no longer stops completely if the data rate of the stream falls below a certain amount. Playback will still stop if the data rate is low enough or falls to zero.
- HTTP addresses for audio/video streams no longer require a trailing slash to work.
4.8.108
New Features
- Support for image rotation (via the SetTransform() method on roImagePlayer and roImageWidget, as well as the SetTransform()/PlayStaticImage() methods on roVideoPlayer)
Bug Fixes
- BrightWall now synchronizes better when a slave player boots up a long time after the master player.
- Transitioning from a Live Video state to an image state no longer causes the display to go blank.
- Displaying video and/or HTML in conjunction with an Advanced Ticker no longer causes the ticker to slow down after a period of time.
- The display: none CSS attribute now works correctly with HTML <video> elements that are set to hwz=on.
- Frame-rate issues related to resource-intensive HTML pages in version 4.8.88 have been fixed.
- Restarting an HTML page containing a <video> element several times no longer causes a crash.
- Attempting to change the CSS background of an HTML page using JavaScript no longer causes a crash.
- Animating the position of an HTML <video> element that is set to hwz=on now works as expected.
- Transparent images that contain HTML5 animation effects no longer display artifacts.
- The 640x480x60p video mode is now supported over HDMI again.
- The roVideoPlayer.SetFade() method works again with Live Video (HDMI In or RF In).
- Displaying two video zones (one with a single video, the other with a playlist of videos) no longer has a chance of causing a crash.
- A video window will now display correctly when there is a single video player and the roVideoPlayer.ToFront() methodis called on it.
- Turning on a player with certain models of USB keyboard attached it will no longer cause an infinite reboot loop.
- Combined keyboard/mouse USB devices are now detected correctly by the player.
- The Diagnostic Web Server and the ifconfig command on the BrightSign shell now return the correct port number for the Telnet server in all cases.
- The system no longer crashes if roXMLElement.GenXML() is called on an XML element that has a body but no name.
Improvements
- JavaScript garbage collection is now more effective, resulting in better long-term performance with fewer crashes.
- Caching has been re-enabled for HTML widgets. This improves the reload times of many pages.
- Displaying an HTML page in portrait mode now rotates only the HTML content, rather than rotating both the HTML content and the zone that contains it.
- Custom BrightSign <video> attributes (described in the HTML5 Best Practices guide) are now accessible via JavaScript.
- Attempting to create an HTML widget that is 0x0 in size no longer causes a crash.
- HTML widgets now have a maximum image size. The system will not attempt to load images that are larger than the filesize equivalent of a 1920x1080x32bpp image.
- Calls to roVideoPlayer.StopClear() once again work with HDMI input, allowing the input to be switched to another roVideoPlayer instance.
- The roAssetPool and roSyncPool objects now support the MD5 algorithm for hashing files.
4.8.88
New Features
- Support for the following multi-touch screens: ELO 3243L, Iiyama T1731SAW, and Nitere AR150-2
- True video rotation at resolutions up to 1080p60
- New streaming server capabilities: XD players can process requests from other devices on the network and deliver media via RTP, RTSP, and HTTP.
- Support for chroma key and luma key video blending
- Support for seeking to a certain video or audio time code
- Support for video fading
- Support for the 1680x1050x60p video mode
- Progress bar widget
- Support for HTTPS streaming
- Enhanced ticker with scrolling capability
- Universal Plug and Play (UPnP) support via BrightScript
- Support for setting the recovery URL via DHCP Option 43
- Telnet support for BrightSign and BrightScript shell prompts
Bug Fixes
- HTML pages now display multiple JavaScript animations more consistently.
- Newer models of USB external hard drive (including Seagate models) are now correctly recognized by XD players.
- AC3 audio now plays correctly within the MP4 and MOV video containers.
- HLS streams containing raw MP3 audio play correctly again.
- Streamed .ts video files that do not contain audio data now play correctly.
- The colors of custom mouse-cursor icons now display correctly.
- Mouse-cursor icons are no longer obscured by various image and text widgets.
- Players now correctly display certain fonts that would previously encounter clipping issues at the beginning of the text.
- Some minor choppiness associated with text characters has been removed.
- The screen no longer flashes if a video zone transitions into or out of HDMI input. This bug only occurred if there were additional zones other than the video zone.
- Attempting to rapidly change channels on a DTCP-enabled RF input no longer causes the player to crash.
- Attempting to play an AVCHD Lite video file no longer causes the player to crash.
- Resizing an HTML <video> element while the page is being displayed no longer results in a single frame of video corruption.
- The color values of standard video elements (i.e. those added to a looping or interactive playlist) and HTML <video> elements are now exactly identical.
- Using an HTML widget to rotate a portrait mode (1080x1920) video no longer causes clipping problems.
- HTML pages no longer randomly encounter frame-rate issues if the RequestAnimationFrame() JavaScript call is being used.
- Drawing text over an image using the JavaScript filltext()function no longer results in a blue background. This bug only occurs if the combined width and height of the HTML canvas is larger than 65536 pixels.
- Displaying an HTML page with the JavaScript console enabled no longer has a possibility of crashing the player.
- HTML pages that are published directly to the player (without an autorun script) now correctly support z-ordering of video and graphics.
- If the player is located behind a proxy, attempting to display a remote web page will no longer cause the player to crash.
- If an roHttpEvent instance is created by the script rather than by the roHttpServer instance, there is no longer a possibility that the player will crash.
- Unplugging a BP200/BP900 during a button-panel presentation no longer causes system instability.
- Using roDateTime to set the clock backwards (to a negative time) no longer causes problems with event messages.
- EndOfStream callbacks no longer have a chance of creating a deadlock with roVideoPlayer calls.
Improvements
- Mouse and touch events are now much more responsive and effective on resource-intensive HTML pages.
- Players are now better able to handle large amounts of multi-touch events in a short period of time.
- Mouse-cursor icon transparency is now fully supported for BMP and GIF image files.
- The new roVideoMode.SetGraphicsZOrder() allows scripts to determine whether all graphics should be placed in front of, behind, or between two videos on the z-axis.
- The SetRectangle() method has been added to roCanvasWidget, allowing scripts to resize the widget without destroying it.
- While playing an HTTP stream, the roAudioPlayer object now posts an "end-of-stream" event if the player does not receive any data from the streaming server for several seconds. The script can then take appropriate action, such as generating a new connection request or switching to a different URL.
- Streaming audio no longer fades in if playback is being looped.
- The video and audio buffer settings for IP streaming can now be set within the URL (for example,
"rtsp://www.example.com/stream1?vcdbsize=5000000&acdbsize=1000000"). - Players can now play video streams from a Matrox Maevex 5100 encoder. Note that audio support for this series of encoders is still a work in progress.
- The default low-latency mode for video-only RTP streams can now be overridden by adding "buffering=true" to the stream URL (for example, "rtp://example:port/?buffering=true")
- DNS lookups can now be used to specify a remote host involved with an roTCPStream instance.
- New Video Time Code events can now be generated for a video during video playback.
- The 1920x1200x60p resolution is now displayed using reduced blanking mode.
- The scroll bars on HTML pages are now disabled by default.
- The new roHTMLWidget.SetHWZDefault() method allows scripts to set the default HWZ mode for HTML <video> elements.
- The new roHtmlWidget.SetLocalStorageDir() and roHtmlWidget.SetDatabaseDir() methods allow persistent storage of webpage data (with IndexedDB or the JavaScript storage class) after power loss or network outage.
- The GetUserData()method can now be called on messages sent from roHtmlWidget, allowing scripts to distinguish between events from different roHtmlWidget instances.
- The file system of the player now fixes filenames that contain colons, which are not allowed in FAT systems. Since storage devices attached to a player usually need to be formatted using FAT32, this can help prevent problems caused by faulty file names.
- SD card failure will no longer prevent the player from rebooting.
- The new RestartScript() global function causes a player to search for a new autorun file without needing to reboot.
- If a new autorun script is uploaded to the player from the Diagnostic Web Server, the player now loads the script without needing to reboot.
- Initiating diagnostic operations using the Diagnostic Web Server no longer overwrites the autorun.brs file contained on the local storage of the player.
- The IP address displayed on the BrightSign splash screen now updates if the player obtains a new DHCP lease.
- BrightScript now supports 128-bit AES encryption through the new roBlockCipher object.
- BrightScript now supports the PBKDF2 function through the new roPassKey object.
- The player no longer crashes if a character pixel size larger than 1920x1080 is passed to roTextField during object creation. If no character pixel size is specified during object creation, the player attempts to use the largest pixel size that will fit within the text field.
- BrightScript no longer allows two roIRRemote objects to exist at once.
- Specifying an empty byte array for the roCecInterface.SendRawMessage() method no longer causes instability with the roCecInterface object itself.
- The player is now better able to successfully rename invalid or corrupt .bsfw update files. The player also continues looking for a valid .bsfw update file if it detects and renames the initial update file.
- Placing two different arbitrarily named .bsfw update files on a single SD card no longer causes an indefinite upgrade loop.
- The BrightSign splash screen now disappears more crisply.
4.7.151
Bug Fixes
- The appendChild() JavaScript method now works correctly within HTML pages. As a result, it is now possible to use more than two video instances (sequentially) in the same HTML archive using the removeChild() and appendChild() JavaScript methods.
- Disabling the BrightSign splash screen at boot using roRegistrySection now works as expected.
- In a custom script, EndofStream events no longer have a chance of locking up an roVideoPlayer instance.
Improvements
- If a player is locked up, it is now possible to force a crash dump without having access to the Diagnostic Web Server: To force a crash dump, keep the SVC button held down, press the Reset button, then immediately release both buttons.
4.7.146
New Features
- Support for the Generaltouch RTL224
- Support for Streamzap remotes
- Ability to generate a screenshot of the presentation area
Bug Fixes
- (4Kx42) Playing HTML video with HWZ enabled no longer causes performance degradation for CSS animations.
- Switching from a video to an image using an interactive event no longer causes a brief graphics glitch.
- Side-by-side and top-over-bottom 3D modes now work again on XD players.
- HTML <video> elements that do not contain “height” or “width” attributes now display at their natural size.
- There is no longer a color difference between video playback in a Video zone and video playback in a zone displaying HTML.
- When rotated using a CSS transform, an HTML widget is now pivoted around the center, rather than the corner, of the widget.
- HTML layout now works correctly if an HTML file is used with the default player autorun (i.e. not published using BrightAuthor or a custom autorun).
- Icecast and SHOUTcast audio streams now begin playing faster and without glitches. These streams can now be mixed/crossfaded (using Enhanced Audio zones) with other audio sources as well.
- Attempting to mix/crossfade a second audio source with an IP audio stream no longer causes the initial stream to stop abruptly.
- Media End events now work correctly with two mixed/crossfaded audio sources that have different audio sample rates.
- Playing multiple videos and displaying resource-intensive graphics at the same time no longer causes the screen to flicker.
- The player no longer crashes if a user attempts to exit an HTML5 state that has touch capabilities and is playing video.
- Multi-touch “swipe” gesture detection no longer locks up if a user attempts a swipe gesture that moves outside of the zone containing HTML5 content.
- Performing numerous multi-touch/swipe events in a short window of time is now less likely to break the touch functionality of a presentation.
- The touchscreen calibration process now works correctly with the NEC V462 multi-touch screen (a calibration workaround is no longer required).
- If an incompatible player model is instructed to play an H.265 file, rather than crashing, it will not attempt to play the file.
- WebInspector no longer crashes if used with HTML5 content that has the JavaScript console enabled.
- Attempting to use Webkit-based time offset functions with multiple HTML widgets will no longer cause the player to crash.
Improvements
- The “hwz” attribute can now be enabled for HTML <video> elements. Note that there are limitations with the “hwz” attribute, as outlined in the HTML5 Best Practices guide.
- You can now refresh an HTML page by calling the roHtmlWidget.SetUrl() method on the same URL.
- Calibration resolutions have been improved for touchscreens that don’t use HID drivers.
- Players no longer have a chance of crashing and rebooting if a connected USB device suddenly disappears.
- Players can now support USB devices that switch between HID and CDC ACM modes.
- The roTCPConnectEvent method now has a GetSourceAddress() method (see the 4.7 Object Reference Manual for details).
- roTCPServer instances can now be set to only accept connections from within the player itself (by default, they can accept connections from anywhere).
4.7.122
Bug Fixes
- Video playback issues no longer occur when Media End events are used to link two HTML5 states with <video> elements.
- Bitmaps with 32bpp color depth and uninitialized alpha no longer display as black.
- HTML5 widgets with two <video> elements now display video correctly during the first play through.
- When a USB keyboard is connected to a player, the status lights of function keys (Num Lock, Caps Lock, Scroll Lock) now update correctly.
- Certain models of Logitech wireless keypad now work with the BrightSign player.
- Calling roRegex.Match() now returns the correct results in all circumstances.
Improvements
- Calling roHtmlWidget.SetAppCacheSize() no longer clears the application cache unless the cache size is being changed.
- BrightScript now communicates network problems to any JavaScript elements running on the player.
- It is now less likely for corrupt JPEGs to hang up the player indefinitely.
- The Scroll() method has been removed from roHtmlWidget.
4.7.112
New Features
- Players that are networked with SSL now correctly upload logs to the BrightSign Network. Note that this issue does not affect players that use plaintext HTTP connections.
- Embedded HTML audio no longer causes the player to crash.
- The position: fixed property now works correctly for an HTML element when the z-index property is used as well.
- HTML5 pages now load cache manifest files correctly when they do not have a network connection.
Bug Fixes
- Some HTTP video streams that used to take a substantial amount of time to load (20 seconds or more) now begin to play much more quickly.
- The XD1230 is now better at triggering Media End on RF In states when it detects the loss of RF signal input.
4.7.106
New Features
- Support for the HPCompaq L2206tm gesture touchscreen
Bug Fixes
- Ticker and clock zone transparency works correctly again.
- The audio/video streams from the HDMI or RF input no longer have a chance of drifting out of sync.
- Attempting to display HDMI input in a zone that is smaller than the full screen will no longer cause the player to crash.
- The player no longer crashes while switching back and forth between presentations when one of those presentations contains HDMI input.
- An HTML5 <video> element displaying HDMI input now continues playing after the page is refreshed.
- If the HDMI input is disconnected from an XD1230, an HTML5 <video> element displaying the input will no longer display random noise.
- The roMediaStreamer.Source() method now accepts file paths for the SD card in the format of “SD:/” instead of “file:/storage/SD”.
- Calling multiple end events at once on an Mjpeg state no longer causes a crash.
- Certain images no longer have a pink tint when scaled to 1920x1080.
- Presentations that contain only a Background Image zone no longer encounter problems with image corruption and jittering.
- Mappings for the Back, Clear, and Enter keys on the Logitech N305 USB keypad work again.
Improvements
- The frame rate of HTML5 <video> elements have been improved. This is especially true for elements that are scaled or are inputting HDMI video.
- The 3D rendering speeds of HTML5 pages with <video> elements have been improved.
- The roMediaStreamer object can now be used to stream .ts files over RTP (in addition to UDP).
- The default autorun can now detect and load index.html files, as well as any true-type font (.ttf) in the same directory. This allows you to display HTML5 pages without creating a project in BrightAuthor.
- The roTimer object now has a SetElapsed() method that allows you to construct timed events that are independent from the system clock (and are thus immune to unexpected system time changes).
- The source of an HTML <video> element can now be specified in a separate “src” element rather than as an “src” attribute of the video.
- If the player does not receive a response ping from the default gateway, the system software will now check MAC addresses in the ARP table for the default gateway IP.
4.7.96
New Features
- Substantial improvements to the HTML5 rendering engine:
- Animated transforms and transitions (e.g. rotate, move, and skew) are now fully supported.
- Canvas rendering and redrawing speeds have been improved.
- HTML page transparency can be specified through CSS.
- Transparency fades have been improved.
- <video> elements now support input from the RF tuner (XD1230 only).
- <video> elements work more smoothly with other layers of HTML5 content.
- <video> elements can now be rotated.
- Ability to upscale 1080p videos to 4K
- Support for HLS , HTTP, UDP, and RTP video streaming playback (through HTML5 <video> elements and Video Stream states)
- Partial support for RTSP streaming (i.e. only some streams work currently)
- Gesture support for the following touchscreen models: Acer T232HL, eGalax 7200, Iiyama T2452MTS, Nextwindow Profile Touch 2S, Philips DL4230ET, Planar PS4200, Samsung TM40LBC (ME40B), and the Visual Planet single touch foil
- Support for HTML5 <audio> elements
- Partial .flv (Flash Video) container support
- Commtec ProTUNE III transport steam support
- JavaScript objects for BrightScript: This allows interactive events to be communicated directly to an HTML page.
- Calibration support for multi-touch screens
- Ability to create user-generated obfuscated passphrases using a “shared secret”
- Ability to adjust the HDMI brightness level via roVideoMode.AdjustGraphicsColor() and roVideoPlayer.AdjustVideoColor()
- Re-enabled video mode: 1600x1200x60p
Bug Fixes
- The Background Image zone flickering bug has been fixed.
- HTML 5 <video> elements with the <loop> attribute now loop correctly.
- The Google Calendar JavaScript API now works correctly in HTML5 zones.
- The HTML5 cache no longer stores old versions of pages after the player reboots.
- The RF tuner on the XD1230 now correctly detects an invalid stream (0 Mb/s) as a condition for a Media End event.
- The system software no longer locks up when it attempts to display a corrupt JPEG file.
- Presentations set to output video at 1920x1080x59.94(i/p) now use the correct refresh rate instead of defaulting to 1920x1080x60(i/p).
- Specifying a lengthy Time to display each line value for a Ticker zone and then publishing the presentation via Local File Networking no longer causes BrightAuthor to lock up.
- Fade out and Fade in transitions work again.
- The background image color no longer appears during Fade to new image transitions.
- MPEG video files configured for top-over-bottom 3D playback now display correctly.
- When a new application font is added, HTML5 content now updates correctly after the first refresh.
- The system now increments and decrements USB audio volumes correctly.
- When instructed to use unsupported RF tuner settings by the script, the system now scans using the default settings instead of crashing.
- roGlobal.EjectDrive() now returns False when the system fails to eject a USB or SD storage drive.
Improvements
- HTML5 <video> elements now accept the following attributes: pcmaudio, compadio, and multiaudio. These attributes allow you to manipulate the audio routing of <video> elements.
- HTML5 pages now use proxy settings if they are specified during player setup.
- New roNetworkStatistics BrightScript object allows you to retrieve both total and incremental network interface statistics.
- The Info tab on the Diagnostic Web Server now displays the player name and description.
- Connected to an appropriate device, GPIO pin 1 can now be used to receive NEC-formatted IR input.
- Ethernet ping times for XD players have been significantly reduced.
- Keyboard input events can now interpret symbols that are entered by Shift-modifying keys (e.g. “!”, “@”, “+”, “*”, “/”).
- IR codes can now be sent using the Pronto hex format.
- VESA HDMI capture modes are now reported through EDID. This provides more robust EDID support for computer monitors.
- There are new SetAudioDelay() and SetVideoDelay() methods available for roVideoPlayer, as well as a new SetAudioDelay() method for roAudioPlayer objects.
- The roVideoMode.GetResX() and roVideoMode.GetResY() methods now return the size of the graphics plane rather than the size of the video mode output. New GetOutputResX() and GetOutputResY() methods have been added to roVideoMode to return the size of the video mode output.
0 Comments