---
title: 6.1
slug: releases/61
docTags: 
createdAt: 2025-03-11T07:09:39.136Z
---

# 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 the*SetClientCertificate()* 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.
- The*PreloadFile()* 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.
- New*Close()* 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.

