Firmware Release Notes

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.
Have more questions? Submit a request

1 Comments

  • 0
    Avatar
    earile1951

    Acquiring a copywriting service that really works closely along with you as well as appreciates a person's promoting objectives is the key in order to on the net accomplishment. By powerful internet site SEO copywriting services, you are website copywriting services by uniquecopywriting going to effortlessly differentiate yourself from the web herd. You may just grow as a company if you get much more coverage on the web. That development is possible once you have a seat with a specialist Web optimization copywriter that's able to take note of you actually to make sure they have an understanding of your requirements and and then conceptualize as well as realize these kind of needs on the internet.

    The actual cadence of web page is commonly quite talk but they can often be often simple or elegant. It comes with an appropriate influence regarding both equally long lines having commas along with partly of colons, and limited paragraphs intended to draw in focus on an essential piece of details. Properly regarding published web content usually utilizes elementary The english language beneficial copywriting services by copywritingcompanies crafting procedures: a opening part which has a clear thesis report, a series of helping sentences in addition to artwork, along with a summary that summarizes the small print.

Article is closed for comments.
Can't find what looking for? Try to
Powered by Zendesk